freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于c s程序設(shè)計--p2p課程設(shè)計-文庫吧

2025-05-16 15:30 本頁面


【正文】 遼 寧 工 業(yè) 大 學(xué) 課 程 設(shè) 計 說 明 書(論 文) 2 第 2 章 課程 設(shè)計 內(nèi) 容 系統(tǒng)功能 局域網(wǎng)聊天工具,是在局域網(wǎng)內(nèi)部使用的,用戶之間用來交流的一個工具,一般都具有文本聊天和文件傳輸功能。局域網(wǎng)聊天軟件因其使用簡單,系統(tǒng)資源消耗少等優(yōu)點,成為各企事業(yè)單位等的局域網(wǎng)內(nèi)廣泛應(yīng)用的軟件之一。 P2P 是 peertopeer 的縮寫, peer 在英語里有“(地位、能力等)同等者”、“同事”和“伙伴”等意義。這樣一來, P2P 也就可以理解為“伙伴對伙伴”的意思,或稱為對等聯(lián)網(wǎng)。目前人們認(rèn)為其在加強網(wǎng)絡(luò)上人的交流、文件交換、分布計算等方面大有前途。 簡單的說, P2P 直接將人們聯(lián)系起來,讓人們通過互聯(lián)網(wǎng)直接交互。 P2P 使得網(wǎng)絡(luò)上的溝通變得容易、更直接共享和交互,真正地消除中間商。 P2P 就是人可以直接連接到其他用戶的計算機、交換文件,而不是像過去那樣連接到服務(wù)器去瀏覽與下載。 P2P 另一個重要特點是改變互聯(lián)網(wǎng)現(xiàn)在的以大網(wǎng)站為中心的狀態(tài)、重返“非中心化”,并把權(quán)力交還給用戶。 P2P 看起來似乎很新,但是正如 B2C、 B2B 是將現(xiàn)實世界中很 平常的東西移植到互聯(lián)網(wǎng)上一樣, P2P 并不是什么新東西。在現(xiàn)實生活中我們每天都按照 P2P 模式面對面地或者通過電話交流和溝通。 系統(tǒng)設(shè)計 開啟服務(wù)器,文本聊天窗體加載成功后,將啟動監(jiān)聽線程,服務(wù)器主要是負(fù)責(zé)監(jiān)聽局域網(wǎng)內(nèi)的用戶的連接請求。收到客戶發(fā)起的連接請求后,若服務(wù)器處于空閑狀態(tài),彈出消息提示框,對請求進行處理,服務(wù)器可以選擇接受或者拒絕客戶端的連接。若同意連接,則返回給客戶端同意信號,開啟服務(wù)器的接收信息線程,并置消息發(fā)送事件為Enable??蛻舳耸盏椒?wù)器返回的同意信號后,也開啟接收信息線程,并置消 息發(fā)送事件為 Enable。通信雙方就可以進行文字聊天了。若服務(wù)器端拒絕客戶端的連接,則關(guān)閉tcpconnect,并關(guān)閉網(wǎng)絡(luò)流,繼續(xù)執(zhí)行監(jiān)聽。客戶端得知服務(wù)器端關(guān)閉 tcpconnect 并關(guān)閉網(wǎng)絡(luò)流之后,則釋放本次 socket 和網(wǎng)絡(luò)流。若已建立連接,當(dāng)斷開連接時,將向?qū)Ψ桨l(fā)送斷開信號,然后將釋放 Socket 和網(wǎng)絡(luò)流,不影響到下一次連接的接入。文本聊天服務(wù)器工作流程如圖 所示 遼 寧 工 業(yè) 大 學(xué) 課 程 設(shè) 計 說 明 書(論 文) 3 圖 開始 開啟監(jiān)聽線程,監(jiān)聽端口 建立連接,允許發(fā)送信息事件,啟動接受信息線程 同意接受請求? 發(fā)送拒絕信號 進行文字信息通信 是否斷開連接? 發(fā)送斷開信號,關(guān)閉文本聊天 保存記錄? 保存聊天記錄 終止 否 是 否 是 是 否 遼 寧 工 業(yè) 大 學(xué) 課 程 設(shè) 計 說 明 書(論 文) 4 系統(tǒng)實現(xiàn) 定義相關(guān)變量。 集成主窗體創(chuàng)建 后,創(chuàng)建一個 tcpListener 的對象,端口為 5000, IP 為任意。創(chuàng)建監(jiān)聽線程 wait, wait線程執(zhí)行的是 waitconn()方法, 啟動監(jiān)聽線程 。 調(diào)用 getMyIP()方法用于獲取本地 IP 地址,并在連接建立時傳給對方 。 當(dāng) wait 線程監(jiān)聽到遠(yuǎn)程用戶的接入連接請求,彈出消息提示框,用戶可以選擇同意或拒絕接入請求。若同意,則創(chuàng)建接 收 信息線程 th,并 啟動 th。若用戶拒絕遠(yuǎn)程接入請求,則關(guān)閉網(wǎng)絡(luò)流 nss,關(guān)閉 tcps,并調(diào)用 disconnect()重新初始化相關(guān)變量。 接收信息時,嘗試讀取網(wǎng)絡(luò)流,采用的是 Unicode 編碼。讀取到的消息如果不為斷開連接信號,則在聊天記錄框里面顯示出來;若為斷開信號,則執(zhí)行 disconnect()方法關(guān)閉當(dāng)前連接。 當(dāng)無接入請求,則判斷用戶是否有嘗試連接遠(yuǎn)程服務(wù)端事件。若有,創(chuàng)建 TcpClient的對象 tcpc,并嘗試連接遠(yuǎn)程主機。 連接建立后,用戶單擊“發(fā)送消息”按鈕或者在輸入文本框內(nèi)按熱鍵“ Alt+S”或“ Ctrl+Enter”,觸發(fā) send_Click 事件。 send_Click 事件主要是將用戶的輸入通過Socket,采用網(wǎng)絡(luò)流的形式傳輸給遠(yuǎn)程用戶,編碼采用 Unicode,同時在聊天記錄框里面顯示出來。 斷開連接或關(guān)閉窗體,需要將 Socket、網(wǎng)絡(luò)流以及接收信息線程 th進行關(guān)閉,重置各按鈕的可用狀態(tài)。若是關(guān)閉窗體,還需將 wait 線程關(guān)閉。 代碼如下: using System。 using 。 using 。 using 。 using 。 using 。 using 。 using 。 using 。 遼 寧 工 業(yè) 大 學(xué) 課 程 設(shè) 計 說 明 書(論 文) 5 using 。 using 。 namespace client { public partial class client : Form { private TcpClient myTcpclient=null。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1