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

正文內(nèi)容

聊天系統(tǒng)設(shè)計與實現(xiàn)本科畢業(yè)論文-wenkub.com

2025-08-13 23:25 本頁面
   

【正文】 while (isconnecting) { if (isclient) { acceptmsg(tcpc, nsc)。 //創(chuàng)建接受信息線程 th = new Thread(new ThreadStart(acceptmsg))。 } //根據(jù)讀到的字節(jié)數(shù)來判斷對方作出何種回應(yīng) ,1表示允許連接 ,2表示拒絕 if (bytes == 1) { //將自己 IP發(fā)給對方 (writemyIP, 0, )。 nsc = ()。 if (!isconnecting) { try { (clientip, port)。 } } //獲取本機 IP地址 private string getMyIP() { string ip = (()).AddressList[0].ToString()。 (msg2)。 if ((msg, infDisconn) != 0) { DateTime now = 。 = null。 } } endregion //發(fā)送消息事件 private void send_Click(object sender, EventArgs e) 山西大學商務(wù)學院本科畢業(yè)設(shè)計 26 { if (isclient) { sendmsg(nsc)。 ()。 } catch ( eio) { SetServerStatus()。 isclient = false。 if (!isconnecting) { strresp = 。//彈出連接對話筐 //string cmd = 連接請求 。 tcpc = new TcpClient()。 //啟動監(jiān)聽線程 ReceiverWorker = new Thread(new ThreadStart(ReceiverStart))。 = waitconn。 //啟動等待連接線程 myIP = (getMyIP())。 port = 5000。 另外,我也在這次設(shè)計中看到了自己的許多不足之處,由于初次接觸到語言類問題,很多步驟都是自己臨時學習,大大影響了系統(tǒng)的開發(fā)進度。 在當今電腦網(wǎng)絡(luò)密布的世界當中,一個簡單高效的局域網(wǎng)通信工具是如此的具有實用性,所以我們應(yīng)當重視對它的相關(guān)研究與開發(fā)。在后來經(jīng)過不斷的修改和大量的測試,終于將這個 bug解決了。在兩個用戶的通信過程中,任何一方斷開連接之后,要像對方發(fā)送斷開信號,而對方接收到傳入的斷開信號后,需斷開 Socket、 NetStream 等,并重新開啟監(jiān)聽線程,銷毀接收消息線程。 文檔測試 在本系統(tǒng)的開發(fā)過程中,因為是本科畢業(yè)設(shè)計,所以具有完備的開題報告,文獻綜述,任務(wù)書,以及最終的論文做總結(jié)闡述,整個文檔所以說文檔方 面也比較完整。因此,和其他的類似軟件相比較,有更大的應(yīng)用范圍。這個問題,我通過對文件流緩沖的字節(jié)數(shù)進行增大,設(shè)置為 8KB后,計算量減少,傳輸速度明顯加快,通過計時器計 基于 C++的 FeiQ的山西達內(nèi)公司局域網(wǎng)聊天系統(tǒng)設(shè)計與實現(xiàn) 21 時,最后得出的傳輸速率與 IPMSG相比,大致一樣。 例如當文件傳輸時,用戶輸入的文件不存在,而單擊“開始”時,會有如圖 13所示的錯誤提示。 容錯性測試 容錯性測試是檢查軟件在異常條件下的行為。當 A機器和 B機器啟動了客戶端軟件后,向服務(wù)器進行登錄操作,服務(wù)器端驗證了用戶的登錄后,向局域網(wǎng)廣播客戶端的登錄狀態(tài)。借助在 P2P文本聊天模塊開發(fā)過程中積累的經(jīng)驗,較順利的完成了 P2P文件傳輸模塊的開發(fā)。我采用了第一種方法,調(diào)試之后,問題解決。分析代碼發(fā)現(xiàn),線程調(diào)度出錯,接收消息線程 th還未創(chuàng)建和啟動,監(jiān)聽線程 wait已經(jīng)被銷毀了!修改代碼,給出兩種解決辦法: 在 th線程的執(zhí)行方法中,將 wait線程銷毀;在 th線程銷毀前,重新開啟 wait線程。由于正確性是軟件最重要的質(zhì)量因素,所以其測試也最重要。 因為做為一個本科畢業(yè)設(shè)計,本系統(tǒng)并不會真正發(fā)布到廣大的用戶 群中去,所以只能做α測試,而無法完成β測試。 這個真理告訴我們,對于一個復(fù)雜的系統(tǒng)而言,無論采取什么樣的測試手段都不能證明缺陷已經(jīng)不復(fù)存在。理解測試的目 的是個很重要的意識問題。若匹配成功,則返回用戶名存在信息;若不匹配,則繼續(xù)遍歷下一個 user節(jié)點。保存數(shù)據(jù) 的流程圖如圖 11所示。 用戶信息的保存 通過服務(wù)器監(jiān)聽,接收到客戶端的注冊請求后,獲取注冊用戶的信息,判斷用戶是否為第一個注冊用戶,若是,則創(chuàng)建 ,進而創(chuàng)建 userInfoList根節(jié)點,在 userInfoList內(nèi)創(chuàng)建用戶 user節(jié)點,設(shè)置 id屬性,然后在 user節(jié)點下創(chuàng)建用戶名、密碼、創(chuàng)建時間等節(jié)點,將相應(yīng)的信息保存到各節(jié)點中。其中, version 是標明此 XML 文件所用的標準的版本號 ,encoding 指明了此 XML 文件中所使用的字符類型為 utf8。模塊中只涉及到用戶一個模型,涉及到的屬性項目有 用戶 ID、 用戶 名 (姓名 )、 密碼 、 注冊時間 等,其 ER圖如圖 59所示。 用戶管理模塊實現(xiàn) 用戶管理模塊概 述 不管是任何系統(tǒng),都必然會有用戶這個角色,因此用戶管理是每一個應(yīng)用中必不可少的部分。 用戶單擊“語音”按鈕,開啟 用于向遠端發(fā)送文件的 SenderWorker線程。若同意,用戶選擇文件保存路徑后,向發(fā)起方發(fā)送同意接受信號,并開啟計時器,文件接收完畢時關(guān)閉計時器。 主窗體加載時,創(chuàng)建文件接收監(jiān)聽線程 ReceiverWorker,并啟動 ReceiverWorker線程。 添加待傳送的 信息 接收端同意接收 信息 ? 否 是 啟動計時器,發(fā)送文 字 流,反饋狀態(tài) 終止 向接收端發(fā)送 信息 傳輸請求 關(guān)閉計時器,關(guān)閉 信息 流 將本地 信息 發(fā)送至接收端 開始 基于 C++的 FeiQ的山西達內(nèi)公司局域網(wǎng)聊天系統(tǒng)設(shè)計與實現(xiàn) 15 圖 10 P2P文字傳輸 程 序 流程圖 3) 語音文件傳輸發(fā)送端窗體 文件發(fā)送主要作用是發(fā)送本地文件至遠程接收端,所以功能盡可能簡單化,方便用戶操作,設(shè)計人性化。 2) P2P文字傳輸工作流程圖 負責接收信息的監(jiān)聽線程集成在聊天窗體內(nèi),當聊天窗體加載時,將開啟此線程。若接收端拒絕接受文件,則取消本次文件發(fā)送,等待用戶的下一次文件發(fā)送事件。 基于 C++的 FeiQ的山西達內(nèi)公司局域網(wǎng)聊天系統(tǒng)設(shè)計與實現(xiàn) 13 文件傳輸接收端工作原理 語音實時傳輸是語音聊天軟件的核心技術(shù)。 斷開連接或關(guān) 閉窗體,需要將 Socket、網(wǎng)絡(luò)流以及接收信息線程 th進行關(guān)閉,重置各按鈕的可用狀態(tài)。 當無接入請求,則判斷用戶是否有嘗試連接遠程服務(wù)端事件。若同意,則創(chuàng)建 接 收 信息線程 th,并 啟動 th。 集成主窗體創(chuàng)建后,創(chuàng)建一個 tcpListener的對象,端口為 4000, IP為任意。 基于 C++的 FeiQ的山西達內(nèi)公司局域網(wǎng)聊天系統(tǒng)設(shè)計與實現(xiàn) 11 圖 7 P2P文本聊天程序流程圖 3) 集成主窗體設(shè)計 主窗體是用來與用戶交互用的,所以加載時間不能太長,響應(yīng)速度應(yīng)足夠快,操作簡單,設(shè)計人性化。簡言之,用這個程序可以在網(wǎng)絡(luò)中發(fā)送、接受消息,任何一臺計算機既可以作為服務(wù)器端,又可以作為客戶端。若已建立連接,當斷開連接時,將向?qū)Ψ桨l(fā)送斷開信號,然后將釋放Socket和網(wǎng)絡(luò)流,不影響到下一次連接的發(fā)起。若已建立連接,當斷開連接時,將向?qū)Ψ桨l(fā)送斷開信號,然后將釋放 Socket和網(wǎng)絡(luò)流,不影響到下一次連接的接入。客戶端收到服務(wù)器返回的同意信號后,也開啟接收信息線程,并置消息發(fā)送事件為 Enable。所以,在文本聊天模塊中,采用 TCP客戶 端 有局域網(wǎng) ip 進入界面 登錄 ip 主窗體 對話框窗體 服務(wù)器端 服務(wù)器 (建立新的 ip 主機或者連接已存在的 ip 地址) 無主 ip 發(fā)消息 發(fā)消息 N Y Y 服務(wù)器 (記錄所有注冊用戶和顯示所有當前在線用戶) N 客戶端 主窗體 發(fā)消息 對話框窗體 發(fā)消息 TCP/UDP 協(xié)議 基于 C++的 FeiQ的山西達內(nèi)公司局域網(wǎng)聊天系統(tǒng)設(shè)計與實現(xiàn) 9 協(xié)議來傳 輸文本信息。通過文本聊天,局域網(wǎng)內(nèi)用戶能夠發(fā)送和接收文字信息,并在程序窗體上顯示出來,相互之間進行在線交流,并能根據(jù)用戶需要,對聊天記錄進行簡單的保存 。 客戶端的功能包括:登錄端、文本聊天、語音聊天、退出。 可行性研究 ( 1)成本可行性分析 本軟件只做開發(fā)學習使用,所以 暫且不考慮經(jīng)濟成本及盈利問題。并且不發(fā)生內(nèi)存泄漏之類影響系統(tǒng)運行的錯誤事件。要求提前設(shè)想到類似的盡可能多的可能發(fā)生的事件,做出相應(yīng)的應(yīng)對措施,并向用戶提交簡單易懂清晰明白的提示信息。 (5)當有遠程用戶向本機發(fā)送文件的時候,要彈出一個消息提示框,提示本機用戶,可以選擇接收或者拒絕。 客戶端能夠注冊新用戶 山西大學商務(wù)學院本科畢業(yè)設(shè)計 6 可以在局域網(wǎng)實現(xiàn)文字傳輸 可以實現(xiàn)局域網(wǎng)語音聊天 系統(tǒng)運行穩(wěn)定、安全可靠 系統(tǒng)功能需求 這個程序要實現(xiàn)的功能如下: (1)程序啟動之后就能 看到當前哪些機器在線,哪些可以與之進行對等通信。 XML的主要作用有: (1)豐富文件( Rich Documents) 自定文件描述并使其更豐富 (2)屬于文件為主的 XML技術(shù)應(yīng)用 (3)標記是用來定義一塊數(shù)據(jù)應(yīng)該如何呈現(xiàn) (4)解釋數(shù)據(jù)( Metadata) 描述其它文件或在線信息 (5)屬于數(shù)據(jù)為主的 XML技術(shù)應(yīng)用 (6)標記是用來說明一塊資料的意義 (7)組態(tài)檔案( Configuration Files) 描述軟件 的組態(tài)參數(shù) 3. 需求分析 用戶需求 隨著中小型企事業(yè)的不斷發(fā)展,在企業(yè)內(nèi)部實現(xiàn)局域網(wǎng)通信是必不可少的。 XML與 Access,Oracle和 SQL Server等數(shù)據(jù)庫不同,數(shù)據(jù)庫提供了更強有力的數(shù)據(jù)存儲和分析能力,例如:數(shù)據(jù)索引、排序、查找、相關(guān)一致性等, XML 僅僅是展示數(shù)據(jù)。所以,系統(tǒng)結(jié)構(gòu)將設(shè)計成如圖 3的方式。一般情況下,使用 TcpClient連接、發(fā)送和接收數(shù)據(jù),使用 TcpListener監(jiān)聽是否有傳入的連接請求,使用 Close()方法釋放與 TcpClient關(guān)聯(lián)的所有資源。一旦建立了這種連接,就可以在設(shè)備之間可靠地傳輸數(shù)據(jù)。 山西大學商務(wù)學院本科畢業(yè)設(shè)計 4 圖 1 客戶機/服務(wù)器通信結(jié)構(gòu)示圖
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1