【正文】
socket 和網(wǎng)絡(luò)流 。通信雙方就可以進(jìn)行文字聊天了。若同意連接,則返回給客戶端同意信號(hào),開(kāi)啟服務(wù)器的接收信息線程,并置消息發(fā)送事件為 Enable。 文本聊天模塊實(shí)現(xiàn) 開(kāi)啟服務(wù)器,文本聊天窗體加載成功后,將啟動(dòng)監(jiān)聽(tīng)線程,服務(wù)器主要是負(fù)責(zé)監(jiān)聽(tīng)局域網(wǎng)內(nèi)的用戶的連 接請(qǐng)求。并且要求易于維護(hù)及擴(kuò)展。 要求程序?qū)λ\(yùn)行之系統(tǒng)的硬件條件要求盡可能低,運(yùn)行時(shí)內(nèi)存占用盡可能小,響應(yīng)速度要盡可能快。要求提前設(shè)想到類似的盡可能多的可能發(fā)生的事件,做出相應(yīng)的應(yīng)對(duì)措施,并向用戶提交簡(jiǎn) 單易懂清晰明白的提示信息。 7. 文件傳輸過(guò)程中,應(yīng)該有當(dāng)前傳輸狀態(tài)提示, 并 作為當(dāng)前網(wǎng)絡(luò)狀態(tài)的一種反饋。 5. 當(dāng)有遠(yuǎn)程用戶向本機(jī)發(fā)送文件的時(shí)候,要彈出一個(gè)消息提示,提示本機(jī)用戶,可以選擇接收或者拒絕。 3. 當(dāng)單擊用戶列表項(xiàng)的時(shí)候,直接在聊天對(duì)話框打字聊天,可以在其中編輯要發(fā)送的 聊天信息,并進(jìn)行發(fā)送。 系統(tǒng)功能需求 這個(gè)程序要實(shí)現(xiàn)的功能如下: 1. 程序啟動(dòng)之后就能看到當(dāng)前哪些機(jī)器在線,哪些可以與之進(jìn)行對(duì)等通信。 2. 客戶端的功能包括:用戶登錄 、 文本聊天 、 文件傳輸。 目錄 ................................................................................................................ 1 系統(tǒng)功能結(jié)構(gòu) ...................................................................................................... 1 系統(tǒng)功能需求 ...................................................................................................... 1 性能要求 ............................................................................................................. 1 .................................................................................................. 2 文本聊天模塊實(shí)現(xiàn) .............................................................................................. 2 文件傳輸模塊實(shí)現(xiàn) .............................................................................................. 2 文件傳輸接收端工作流程 ............................................................................. 2 文件傳輸發(fā)送界面設(shè)計(jì) ................................................................................ 3 ................................................................................................................ 3 系統(tǒng)測(cè)試概述 ...................................................................................................... 3 白盒測(cè)試 ............................................................................................................. 3 黑盒測(cè)試 ............................................................................................................. 4 ..................................................................................................... 4 多線程問(wèn)題 ......................................................................................................... 4 套接字異常 ......................................................................................................... 4 網(wǎng)絡(luò)流異常 ......................................................................................................... 4 (設(shè)計(jì)圖紙) .................................................................................................. 6 系統(tǒng)功能結(jié)構(gòu) 本系統(tǒng)中主要包括兩個(gè)部分:服務(wù)器端和客戶端。textchat。s functions are reasonable and easy to extend, as well as customization. Key words: LAN。本設(shè)計(jì)將文本聊天和文件傳輸?shù)裙δ芫C合在一個(gè)客戶端程序之內(nèi),使用 C語(yǔ)言進(jìn)行網(wǎng)絡(luò)編程,并進(jìn)行了人性化的界面設(shè)計(jì),使用起來(lái)簡(jiǎn) 單方便,并且功能十分合理,又易于擴(kuò)展以及個(gè)性化定制。因此基于局域網(wǎng)的即時(shí)通信工具,就這樣應(yīng)運(yùn)而生了。局域網(wǎng)的發(fā)展也同樣迅速。局域網(wǎng)聊天軟件因其使用簡(jiǎn)單,系統(tǒng)資源消耗少等優(yōu)點(diǎn),成為各企事業(yè)單位等的局域網(wǎng)內(nèi)廣泛應(yīng)用的軟件之一。 基于 .NET 局域網(wǎng)聊天工具設(shè)計(jì) 學(xué)校: 系: 計(jì)算機(jī)系 專業(yè): 小學(xué)教育計(jì)算機(jī)雙語(yǔ) 姓名: 完成時(shí)間: 2021 年 5 月 28 日 設(shè)計(jì)(論文)題目: 基于 .NET 局域 網(wǎng)聊天工具設(shè)計(jì) 設(shè)計(jì)(論文)要求: 本設(shè)計(jì)的主要工作是設(shè)計(jì)一個(gè)基于 WINDOWS 平臺(tái)的局域網(wǎng)即時(shí)聊天工具,具體是采用 C\S 模式實(shí)現(xiàn)用戶之間的通信,然后闡述本軟件的功能、特點(diǎn)及使用方法,并詳細(xì)闡述開(kāi)發(fā)本軟件所用的相關(guān)技術(shù),具體分析本軟件的各個(gè)模塊的功能及實(shí)現(xiàn)方法,說(shuō)明本軟件的設(shè)計(jì)思想及方法。 局域網(wǎng)聊天工具,是在局域網(wǎng)內(nèi)部使用的,用戶之間用來(lái)交流的一個(gè)工具,一般都具有文本聊天和文件傳輸功能。 中文摘要: 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,各種各樣基于網(wǎng)絡(luò)的應(yīng)用也隨之誕生 ,比如基于互聯(lián)網(wǎng)的信息發(fā)布,通信,數(shù)據(jù)共享等等。很多政府機(jī)構(gòu),企業(yè),學(xué)校,都是先以一個(gè)統(tǒng)一的局域網(wǎng)聯(lián)結(jié)在一起,再分別接入INTERNET。本文提出了一個(gè)局域網(wǎng)聊天工具的設(shè)計(jì),并在 WINDOWS 平臺(tái)上加以了實(shí)現(xiàn)。 關(guān)鍵詞 : 局域網(wǎng); C/S 體系結(jié)構(gòu) ; 文本聊天;文件傳輸 英文摘要: Abstract: Along with the highspeed development of the puter work technology, various of applications which are based on work were born, such as Interbased information releasing,munications,data sharing and so on. The development of LAN is the same fast. Because of Some government institutions, enterprises and schools constitute a LAN first ,then join into INTERNET, the realtime LANbased munication tools emerged. this paper proposed a LAN chat tool designing, and then implement it on WINDOWS platform. The design integrated textchat and filetransfer and other functions in a client procedure. It used C language for work programming with designed a userfriendly and easy to use interface , and it39。 C/S Architecture 。 filetransfer。 1. 服務(wù)器端的功能包括:驗(yàn)證客戶 登錄、 添加新用戶 、傳輸 用戶信息。 客戶端功能結(jié)構(gòu)如圖 11 所示。 2. 一旦有某個(gè)網(wǎng)內(nèi)的機(jī)器上線了,要有即時(shí)通知,并能及時(shí)更新用戶界面中的用戶列表。 4. 聊天界面要人性化,下面是發(fā)送框,上面有已有聊天記錄,并借助滾動(dòng)條看到當(dāng)次所有的聊天記錄。 6. 為 用戶提供一個(gè)簡(jiǎn)單的聊天記錄保存功能。 性能要求 首先要求程序要完全可靠,可以應(yīng)付各種由于系統(tǒng)問(wèn)題產(chǎn)生的錯(cuò)誤,比如初始網(wǎng)絡(luò)失敗,對(duì)方突然下線等。 程序要有良好的容錯(cuò)性,當(dāng)用戶進(jìn)行非法操作時(shí)或者系統(tǒng)本身出現(xiàn)問(wèn)題時(shí)要能以最好的方式退出程序,避免發(fā)生程序假死現(xiàn)象。并且不發(fā)生內(nèi)存泄漏之類影響系統(tǒng)運(yùn)行的錯(cuò)誤事件。所以應(yīng)該采用模塊化開(kāi)發(fā),各個(gè)模塊之間不要有太多的耦合,以免維護(hù)困難。收到客戶發(fā)起的連接請(qǐng)求后,若服務(wù)器處于空閑狀態(tài),彈出消息提示框,對(duì)請(qǐng)求進(jìn)行處理,服務(wù)器可以選擇接受或者拒絕客戶端的連接。客戶端收到服務(wù)器返回的同意信號(hào)后,也開(kāi)啟接收信息線程,并置消息發(fā)送事件為 Enable。若服務(wù)器端拒絕客戶端的連接,則關(guān)閉 tcpconnect,并關(guān)閉網(wǎng)絡(luò)流,繼續(xù)執(zhí)行監(jiān)聽(tīng)。若已建立連接,當(dāng)斷開(kāi)連接時(shí),將向?qū)Ψ桨l(fā)送斷開(kāi)信號(hào),然后將釋放 Socket 和網(wǎng)絡(luò)流,不影響到下一次連接的接入??蛻舳擞脕?lái)向服務(wù)器端發(fā)起一個(gè)連接,等待服務(wù)器的允許接入確認(rèn)。若服務(wù)器端拒絕連接,則釋放 Socket 連接并關(guān)閉網(wǎng)絡(luò)流。 如圖 21 文件傳輸模塊實(shí)現(xiàn) 文件傳輸接收端工作流程 開(kāi)啟窗體后,接收端執(zhí)行監(jiān)聽(tīng)線程。若同意接收,則彈出文件保存對(duì)話框,用戶選擇文件保存路徑并確認(rèn)后,發(fā)送接收信號(hào) 給文件發(fā)送端,啟動(dòng)計(jì)時(shí)器開(kāi)始接收文件流,將遠(yuǎn)程文件保存在本地,并在文件傳輸過(guò)程中對(duì)文件傳輸狀態(tài)進(jìn)行反饋,文件接收完畢后,關(guān)閉計(jì)時(shí)器,關(guān)閉文件流,并在狀態(tài)欄上顯示出完畢狀態(tài)。文件傳輸接收端工作流程圖如圖 22 所示。 文件傳輸發(fā)送界面設(shè)計(jì) 開(kāi)啟窗體后,發(fā)送端選擇用戶需要發(fā)送的文件,向接收端發(fā)起的文件傳輸請(qǐng)求,若接收端端同意接收,開(kāi)啟計(jì)時(shí)器,將本地文件通過(guò)網(wǎng)絡(luò)發(fā)送給接收端,并在文件傳輸過(guò)程中對(duì)文件傳輸狀態(tài)進(jìn)行反饋,文件發(fā)送完畢,關(guān)閉計(jì)時(shí)器,關(guān)閉文件流,并在狀態(tài)欄上顯示出完畢狀態(tài)。 系統(tǒng)測(cè)試概述 測(cè)試的目的是為了發(fā)現(xiàn)功能是否達(dá)到 ,或者是否有更多的缺陷 ; 測(cè)試只能證明缺陷 存 在,而不能證明缺陷不存在 ; 測(cè)試有助于提高軟件的質(zhì)量,但是提高軟件的質(zhì)量不能依賴于測(cè)試 ; 關(guān)于測(cè)試人員的安排,由我本人做白盒測(cè)試,由同學(xué)幫助做黑盒測(cè)試。由于正確性是軟件最重要的質(zhì)量因素,所以其測(cè)試也最重要。經(jīng)過(guò)反復(fù)分析代碼,最終確定問(wèn)題出在程序退出處理流程上,通過(guò)修改和調(diào)試,問(wèn)題解決。借助在 P2P文本聊天模塊開(kāi)發(fā)過(guò)程中積累的經(jīng)驗(yàn),較順利的完成了 P2P文件傳輸模塊的開(kāi)發(fā)。 黑盒測(cè)試 用兩臺(tái)或兩臺(tái)以上機(jī)器通過(guò)交換機(jī)等構(gòu)成一個(gè)局域網(wǎng),進(jìn)行正確的網(wǎng)絡(luò)配置,每臺(tái)機(jī)器上都安裝了 WINDOWS 操