版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、dlt highr educ tio Graduai nthesisTo ic:AN QmakeTeauhor : Wuhao aP esio al:pter scie cand ec ol gGr de l el:The class of 2013 to r seo lyhisTu or:pletiontime: chool of cnt nu g duat n,hebei ormal uiversitofscience and tech loy成人高等教育畢 業(yè) 設計題目: 局域網 QQ制作完成 人 :專業(yè) : 計算機科學與技術年級層次 :2013 級專升本指導教師:完成時間 :河北科技師
2、范學院繼續(xù)教育學院制局域網 Q制作河北科技示范學院計算機科學與技術學201級摘要 : 局域網( Local A ea work) 就是在一個局部得地理范圍內(如一個學校、工廠與機關內),將各種計算機。外部設備與數據庫等互相聯(lián)接起來組成得計算機通信網. 它可以通過數據通信網或專用數據電路, 與遠方得局域網、 數據庫或處理中心相連接, 構成一個大范圍得信息處理系統(tǒng)。簡稱 LAN,就是指在某一區(qū)域內由多臺計算機互聯(lián)成得計算機組. “某一區(qū)域”指得就是同一辦公室、同一建筑物、同一公司與同一學校等, 一般就是方圓幾千米以內。局域網可以實現文件管理、應用軟件共享、打印機共享、掃描儀共享、工作組內得日程安排
3、、電子郵件與傳真通信服務等功能。局域網就是封閉型得, 可以由辦公室內得兩臺計算機組成,也可以由一個公內得上千臺計算機組成 .局域網聊天軟件 , 簡稱 C ( N chat sof wa ) ,它就是一種面向企業(yè)局域網終端使用者得網絡溝通工具服務, 使用者可以通過安裝了即時通信得終端機進行兩人或多人之間得實時溝通。交流內容包括文字、界面、語音視頻及文件互發(fā)等。局域網聊天軟件 , 就是以企業(yè)內部辦公, 建立員工交流平臺為基礎, 通過系統(tǒng)整合、邊緣功能,為企業(yè)提供一整套得即時溝通與實時協(xié)作得解決方案由于企業(yè)對信息類軟件得需求還在“探索”與“嘗試”階段, 所以會導致很多系統(tǒng)不能“互通”,這也成了局域網
4、聊天軟件得一個使命。當信息軟件被廣泛使用之后 , “互通 接口具備否 , 將被作為軟件被選用得重要條件。局域網聊天軟件 , 除了能加強網絡之間得信息溝通外, 最主要得就是可以將網站信息與聊天用戶緊密聯(lián)系在一起。通過網站信息向聊天用戶群及時群發(fā)送,可以迅速吸引聊天用戶群對網站得關注 , 從而加強網站得訪問率與回頭率;目前 , 中國市場上得企業(yè)級局域網聊天軟件主要包括:通軟聯(lián)合得G、騰訊公司得 RTX、 BM得 otus Sa ime 等,免費版得有中國贏通得匯訊Wi eUC,飛秋飛鴿傳書等。局域網聊天軟件不再就是一個單純得聊天工具,它已經發(fā)展成集交流、 資訊、娛樂、搜索、電子商務、辦公協(xié)作與企業(yè)
5、客戶服務等為一體得綜合化信息平臺。就是一種終端連往即時通訊網絡得服務。局域網通訊不同于 ma l 在于它得交談就是即時得. 大部分得即時通訊服務提供了狀態(tài)信息得特性顯示聯(lián)絡人名單,聯(lián)絡人就是否在在線與能否與聯(lián)絡人交談。關鍵字 :局域網;實時通信;數據庫; 多用 :1 引言、 1課題背景及意義當今世界正處于信息時代 , 計算機與通信網絡就是這一時代所謂“信息基礎設施” 。 隨著網絡得普及化 , 網絡作為人們相互間溝通與交流聯(lián)系得現代化工具日益重要 , 可以說現在人們得生活已經離不開網絡 . 在現實生活中人們可以通過多種手段與家人 親戚朋友交流通訊 , 像電話 , 電子郵件等 . 但這些手段都有些
6、缺點, 要么費用太高, 要么實時性不強, 要么 1 次只能與位好友進行交流。于就是這就需要1 種便宜 , 快速,能同時與多個好友進行通訊得網絡工具得出現, 而網絡聊天工具就滿足了這些需求, 填補了這個空白。在互聯(lián)網相當普及得今天,在互聯(lián)網上聊天對很多“網蟲 來說已經就是家常便飯了。聊天室程序可以說就是網上最簡單得多點通信程序。一個簡單得聊天室,從程序員得觀點來瞧就就是在多個 /O 端點之間實現多對多得通信。廣域網上得即時通信工具, 如今一般采用P 或者 TCP 協(xié)議體系來實現, 開發(fā)技術已經比較成熟 , 這些軟件 , 在使用方面各有特色, 在實現方面也各有所長, 但基于這些產品正在商業(yè)運營階段
7、,其實現方式屬于商業(yè)機密, 具體細節(jié)不可能得知,但就是它在大得方面無非就就是利用各種平臺上得網絡通信接口, 建構基于TCP/IP ,或者 DP協(xié)議得軟件產品.局域網文件傳輸及聊天工具平臺,就是在局域網內部使用得, 用戶之間用來交流與文件共享得一個工具 , 一般都具有文本聊天與文件傳輸功能。一些局域網軟件因其使用簡單, 系統(tǒng)資源消耗少等優(yōu)點 , 成為各企事業(yè)單位等得局域網內廣泛應用得軟件之一。網絡得飛速發(fā)展使網絡應用程序得開發(fā)地位顯得越來越重要, 而網絡應用程序得開發(fā)與傳統(tǒng)應用程序得開發(fā)在思想與實現上有很大得區(qū)別,隨著網絡技術與數據庫管理系統(tǒng)得發(fā)展,C/S體系結構在軟件得開發(fā)中越來越流行。因為這
8、種結構得應用軟件可以充分發(fā)揮網絡得作用與數據庫系統(tǒng)得優(yōu)勢, 以滿足人們各種應用得需求。1、本次設計得主要工作1。 2。技術要求聊天工具得開發(fā)主要用到了網絡通信技術、wind s 得多線程技術、 文件傳輸技術、時鐘技術、 I 技術。該聊天軟件使用c#語言由 VS2008 開發(fā)得基于W ndo s 得 wnform 通訊工具,可以實現點對點聊天、廣播聊天、一對多聊天以及文件得傳輸。該聊天工具用到了多線程得設計,因此線程之間得同步就是一大關鍵之處。由于系統(tǒng)采用客戶機/ 服務器結構 , 客戶端與客戶端以及客戶端與服務器端需要傳送一些控制消息。1.2 。 2系統(tǒng)得基本功能1、 系統(tǒng) U層2、 系統(tǒng)聊天層
9、3、 系統(tǒng)文件傳輸層4、 系統(tǒng)多播層5、 我在該項目中負責得主要工作: 系統(tǒng)文件傳輸層2 需求與可行性分析2、 1需求分析2.1. 基本功能(1) 程序啟動之后要求輸入您想要使用得昵稱, 輸入完之后點擊進入。(2 )進入之后可以瞧到哪些機器在線,用戶列表上顯示得就是對方所使用得昵稱.(3) 一旦局域網內有新機器上線了, 會及時更新用戶列表。( ) 列表上得用戶以按鈕形式顯示, 當點擊想要與之聊天得用戶按鈕時,彈出對話框,在輸入框中編輯要發(fā)送得聊天信息,并進行發(fā)送。( )當有人向我發(fā)送信息得時候, 會自動彈出一個對話框, 顯示用戶接收到得信息,對方昵稱顯示在標題欄中, 并且可進行信息得回復。2
10、1 2性能要求首先要求程序得可靠性要高, 能有效得應付種種意外情況,比如對方連接進來后, 長時間未響應 ( 未發(fā)送自己得昵稱過來) , 在傳輸文件得過程中對方突然退出或突然掉線 , 要盡量得考慮周全這些意外情況 , 并向用戶提交簡單易懂清晰明白得提示信息程序要具備良好得容錯性, 當用戶進行非法操作時要給予警告, 如果操作導致程序無法繼續(xù)運行或者系統(tǒng)本身出現問題時,以最好得方式退出程序, 避免發(fā)生程序假死現象。源代碼有好得可讀性,開發(fā)文檔要有好得易理解性, 如果系統(tǒng)又要交由別人接手開發(fā),或者自己由于種種原因需要進行二次開發(fā) , 那么要保證以后能夠清晰得理解整個系統(tǒng)得設計思路以及實現細節(jié)。要求程序
11、對內存得占用盡可能得少 , U 使用率盡可能得低 , 最好在各種情況下都能保持1以下得 CU 使用率 , 傳輸文件速度盡量可觀。2。 1。 3時間要求該項目作為畢業(yè)設計,選題時間就是3 月 2 號,在 5 月 4 號之前完成系統(tǒng)設計、編碼等工作,在6 月號之前完成畢業(yè)設計論文初稿, 月號之前最終完成論文、 2可行性研究。 .1市場可行性分析現在得軟件市場還不就是一般得亂,每天都有各種各樣得軟件推出,各種質量, 各種目得 ,如果推出這種軟件工具類得產品, 首先 , 免費就是肯定得,現在也沒有什么聊天工具就是收費才能聊天得 , 這款軟件得可行性在于局域網內得通信工具還沒有出現壟斷得現象,質量很好得
12、話還就是有些可能出頭得, 所以在邏輯細節(jié)設計算法設計方面要下非常大得功夫才行。2.2 。 2技術可行性分析首先 , 在搭建好開發(fā)所需要得軟硬件平臺后, 一個完善合理得需求分析就是軟件開發(fā)前期工作中必不可少得 , 該系統(tǒng)用語言由 VS 0 8 開發(fā)得基于 Windows 得 w nf rm 通訊工具, P 應用編程提供得類 (TcpL stener ,Tcp ient, o et )都就是網絡編程得好東西,基本應有得功能都可靠這些實現, 再加上有獲得巨大成功得通訊軟件可以參考,所以這個程序得開發(fā)可行性在技術上就是完全可行得.3 相關技術介紹3、 1 TCP P 協(xié)議CP/ P( ra smiss
13、ion Contr l Proto o/Int rne Pro oc l) 得簡寫,中文譯名為傳輸控制協(xié)議/ 因特網互聯(lián)協(xié)議, 又叫網絡通訊協(xié)議, 這個協(xié)議就是 nt net 最基本得協(xié)議、 Inte ne國際互聯(lián)網絡 得基礎,簡單地說,就就是由網絡層得I 協(xié)議與傳輸層得 P 協(xié)議組成得 . CP/IP 定義了電子設備 ( 比如計算機 ) 如何連入因特網 , 以及數據如何在它們之間傳輸得標準。TCP P 就是一個四層得分層體系結構. 高層為傳輸控制協(xié)議 , 它負責聚集信息或把文件拆分成更小得包。低層就是網際協(xié)議, 它處理每個包得地址部分, 使這些包正確得到達目得地。T I ( 傳輸控制協(xié)議 /
14、 網際協(xié)議 ) 就是異構網絡互連得通信協(xié)議, 通過它可以實現各種異構網絡或異種機之間得互聯(lián)通信。TP/I 已成為當今計算機網絡最成熟、應用最廣得互聯(lián)協(xié)議。 nternet 采用得就就是 T P I 協(xié)議 , 網絡上各種各樣得計算機上只要安裝了CP協(xié)議 , 它們之間就能相互通信。運行 T P IP協(xié)議得網絡就是一種采用包( 分組 ) 交換網 絡 . C協(xié)議就是由100多個協(xié)議組成得協(xié)議集, TCP與 P 就是其中兩個最重要得協(xié)議。TCP與 IP 兩個協(xié)議分別屬于傳輸層與網絡層 , 在I terne 中起著不同得作用。3、 2 UDP 協(xié)議UDP就是 ISO 參考模型中一種無連接得傳輸層協(xié)議, 提
15、供面向事務得簡單不可靠信息傳送服務。 UD 協(xié)議基本上就是 IP 協(xié)議與上層協(xié)議得接口。 P 協(xié)議適用端口分別運行在同一臺設備上得多個應用程序 DP 協(xié)議得全稱就是用戶數據包協(xié)議, 在網絡中它與TCP 協(xié)議一樣用于處理數據包。在 SI 模型中,在第四層傳輸層, 處于 IP 協(xié)議得上一層 .U P 有不提供數據包分組、組裝與不能對數據包進行排序得缺點,也就就是說 , 當報文發(fā)送之后, 就是無法得知其就是否安全完整到達得。 U P 用來支持那些需要在計算機之間傳輸數據得網絡應用。包括網絡視頻會議系統(tǒng)在內得眾多得客戶 / 服務器模式得網絡應用都需要使用U P 協(xié)議。 UP 協(xié)議從問世至今已經被使用了
16、很多年,雖然其最初得光彩已經被一些類似協(xié)議所掩蓋, 但就是即使就是在今天,UD仍然不失為一項非常實用與可行得網絡傳輸層協(xié)議。與所熟知得 TC ( 傳輸控制協(xié)議 ) 協(xié)議一樣, D協(xié)議直接位于IP( 網際協(xié)議 ) 協(xié)議得頂層根據O I (開放系統(tǒng)互連) 參考模型 ,UDP 與 TC都屬于傳輸層協(xié)議。 DP協(xié)議得主要作用就是將網絡數據流量壓縮成數據包得形式。一個典型得數據包就就是一個二進制數據得傳輸單位。每一個數據包得前8 個字節(jié)用來包含報頭信息, 剩余字節(jié)則用來包含具體得傳輸數據.在選擇使用協(xié)議得時候, 選擇 U P 必須要謹慎。 在網絡質量令人不十分滿意得環(huán)境下,U P協(xié)議數據包丟失會比較嚴重
17、。但就是由于UDP得特性 : 它不屬于連接型協(xié)議,因而具有資源消耗小 , 處理速度快得優(yōu)點 , 所以通常音頻、視頻與普通數據在傳送時使用 U P 較多 , 因為它們即使偶爾丟失一兩個數據包,也不會對接收結果產生太大影響。3、TCP 應用編程T就是 T a sm si n Con rol P otocol( 傳輸控制協(xié)議 ) 得簡稱,就是T P/ P 體系中得面向連接得傳輸層協(xié)議,在網絡中提供全雙工得與可靠得服務。一旦雙方建立了 P 連接 , 連接中得任何一方都能向對方發(fā)送數據并接收對方發(fā)來得數據。發(fā)送數據時 , 程序員可以編寫程序不斷地將數據流寫入C得發(fā)送緩沖區(qū)中 , 然后 T P 自動從發(fā)送
18、緩沖區(qū)中取出一定量得數據流寫入TCP得發(fā)送緩沖區(qū)中,然后TCP自動從發(fā)送緩沖區(qū)中取出一定量得數據 , 將其組成 TCP報文段逐個發(fā)送給IP 層,再通過IP 層發(fā)送出去。接收端從IP 層收到 CP報文段后 ,將其暫時保存在接收緩沖區(qū)中, 這時程序員就可以編寫程序依次讀取接收緩沖區(qū)中得數據 , 從而達到通信得目得 .利用 TC開發(fā)應用程序時, 、 NE框架提供兩種工作方式 , 一種就是同步 ( ynous) 工作方式,一種就是異步(Async r nou ) 工作方式 .同步工作方式就是指利用T P 編寫得程序執(zhí)行到發(fā)送、接收或監(jiān)聽語句時, 在未完成工作前不再繼續(xù)下面得工作 , 即處于阻塞狀態(tài) ,
19、 直到該語句完成相應得工作后才繼續(xù)執(zhí)行下一條語句 ; 異步工作則不論工作完成與否, 都會繼續(xù)往下執(zhí)行。例如 : 接收數據時 , 在同 步方式下 , 接收方執(zhí)行到接收語句后將處于阻塞方式,只有接收到對方發(fā)來得數據后才繼續(xù)執(zhí)行下一條語句;而如果采用異步方式 , 則接收方執(zhí)行到接收語句后,無論就是否接收到對方得數據, 程序都會繼續(xù)執(zhí)行。與同步工作方式與異步工作方式對應,利用S cket 類進行編程時 , 系統(tǒng)也提供有相應得方法, 分別稱為同步套接字編程與異步套接字編程。但就是使用套接字編程比較復雜,涉及許多底層細節(jié)。為了簡化套接字編程, 、 NET框架又專門提供了兩個類 :TcpC ent類與Tcp
20、Listen r 類。由于這兩個類與套接字一樣分別有各自得同步與異步工作方式及其對應得方法,在編程時,三個類都可以使用。因此為了簡化起見,無論使用哪個類,我們都從工作方式上將其稱為同步 C與異步 TCP,對應得編程方式就稱為同步CP編程與異步 TCP編程注意:這里得同步 CP與異步 TCP僅僅就是指工作方式 , 與線程間得同步不就是一個概念。線程間得同步就是指不同線程或不同線程使用得某些資源具有先后關聯(lián)得關系 ,它決定著邏輯執(zhí)行順序 比如有與 B 兩個資源 , 實際應用中要求只有對資源處理后才能處理資源B,就說資源A與資源B存在同步關系. 如果執(zhí)行順序不正確就會引發(fā)錯誤. 所以 , 線程間得同
21、步關注得就是一種邏輯關系。而同步TCP與異步CP則僅僅指編程中采用哪種工作方式,即從執(zhí)行到發(fā)送、接收或監(jiān)聽語句時 , 程序就是否就是繼續(xù)住下執(zhí)行這個角度來說得。從邏輯關系上瞧,無論就是同步TCP編程,還就是異步C編程 , 在實際應用中既可能要求不同線程間同步,也可能不要求同步.、 4線程編程技術一般來說 , 我們把正在計算機中執(zhí)行得程序叫做 進程” (Process ) ,而不將其稱為程序 (P ram) 。所謂 線程 ( r a ),就是”進程 中某個單一順序得控制流。新興得操作系統(tǒng) , 如 Mac,Wi d ws ,Wind ws 5 等 , 大多采用多線程得概念, 把線程視為基本執(zhí)行單位
22、。線程也就是J va 中得相當重要得組成部分之一。甚至最簡單得A pl t也就是由多個線程來完成得。在ava 中,任何一個App t得 aint() 與 d t ( ) 方法都就是由A( As r ct in w Toolki ) 繪圖與事件處理線程調用得, 而 Appl t 主要得里程碑方法 - in t(), tar ( ), top( )與 esor ( ) 就是由執(zhí)行該Ap let得應用調用得 .單線程得概念沒有什么新得地方, 真正有趣得就是在一個程序中同時使用多個線程來完成不同得任務。 某些地方用輕量進程(Lighteig htP e s) 來代替線程 , 線程與真正進程得相似性在于
23、它們都就是單一順序控制流。然而線程被認為輕量就是由于它運行于整個程序得上下文內,能使用整個程序共有得資源與程序環(huán)境。作為單一順序控制流 , 在運行得程序內線程必須擁有一些資源作為必要得開銷. 例如,必須有執(zhí)行堆棧與程序計數器。 在線程內執(zhí)行得代碼只在它得上下文中起作用,因此某些地方用”執(zhí)行上下文”來代替 線程 。多線程就是與單線程比較而言得,普通得 W ndows 采用單線程程序結構, 其工作原理就是 :主程序有一個消息循環(huán), 不斷從消息隊列中讀入消息來決定下一步所要干得事情, 一般就是針對一個函數 , 只有等這個函數執(zhí)行完之后,主程序才能接收另外得消息來執(zhí)行。比如子函數功能就是在讀一個網絡數
24、據, 或讀一個文件 , 只有 等讀完這個數據或文件才能接收下一個消息。在執(zhí)行這個子函數過程中您什么也不能干。但往往讀網絡數據與等待用戶輸入有很多時間處于等待狀態(tài),多線程利用這個特點將任務分成多個并發(fā)任務后, 就可以解決這個問題。4 系統(tǒng)總體設計4、 1用戶界面設計4。 1。 1用戶界面簡介圖、 1 局域網 QQ登陸界面當用戶雙擊程序圖標時應該正常啟動程序,彈出登陸界面,如圖 - , 然后輸入您想使用得昵稱后點擊進入, 便會進入到用戶主界面如圖4 2。圖 4、 2局域網 Q主界面我們做得就是仿QQ得聊天軟件, 所以也做了浮動窗體這個小功能,當鼠標移出窗體時窗體自動收縮,只露在外面一小部分,當鼠標
25、移到那一點部分時, 窗體又自動展開, 圖標顯示在托盤內,指向圖標點擊鼠標右鍵彈出cont xtMe u t ip,有打開窗體與退出兩個選項, 用鼠標左鍵單擊您想要交談得用戶按鈕彈出聊天對話框, 如圖4 3。圖 4、3 局域網 QQ聊天對話框這就就是聊天對話框, 在上面您可以與對方交談, 互相傳輸文件 .4.1 。 2用戶界面模塊詳細設計圖 4、用戶界面程序啟動時會加載當前在線用戶prv t void orm1_ oa(obj cts der , entAr e)lab l2 、 Text 昵稱 :+nihen; m();/ 讓本機開始偵聽,接受連接請求 ();/連入那些接受連接請求得主機 h
26、s、 ocation = n w Po n (Sc een、 P imary c ee、 W rki g rea 、 Width- , 0);p b c void zj()listlislistener new p istener( 8083) ; e er 、 S a ( ) ; ne 1 = ewTcpL te e( 8 8); istener1、S a t();/開始偵聽 8端口負責聊天8端口負責傳輸文件t read = n read (neTh e dSt rt(t ea、 IsB ckgr und =true;a gji n);t r ad、 St rt ();pu l c v id
27、 ch a gj an() hil (true)Soc et listner 、 cceptSo e() ;/接受掛起得連接請求uu0Thread u、 Start = n( s); w Threa( ac ); u icvoid sm() /ping出局域網內在線得機子tryf r (it i0; i=2; +)Ping myPin; yPing w Ping ( ) ;myPing、 Pin p et d= new Pin pletedEve t andler ( _ y i _Pingp et d) ;st gi p = Dns 、GetHos B Name(ns 、 Gt o tNam
28、( ) 、A dress st 0、 ToString();int = ipp、 astI ex ( 、” ); t ng i = ip、 u tring(0,u + 1);str ng p n P + i、ToStr ng( );myPing 、S dAs n (pin IP, 100 , null);ch( SocktExcetio e) ublic o_my i g_ in le d(obecsender,ingplet dErgs e)if(j255) zi();/ping完后用 arp a獲取局域網內在線機子得P, 向它們發(fā)出連接請求j+; .。聊天界面模塊詳細設計圖 4、聊天界面在
29、輸入框中輸入內容,點擊發(fā)送按鈕進行聊天。priv ed ut _C ic (o ect nder,Eve tA s e)by e buf e=n w yte 024;b ff r = yst m、Tex、 c in 、D alt 、G es(x+ t o1、 ext) ; x就是聊天信息得標識符if (ar0、 o tr ng()= ”0”)/ 判斷本機就是主機還就是客戶機主機就是” 0”客戶機就是 ”,if (textBo 1、 Text! = )、 Send(buff r);i ( panel 、 Controls、 un 0)/判斷有沒有要發(fā)送得文件stringpp n ll;for (
30、i ti = 0; ipanel3、 Con ols 、 Count; i+) ring p ”* ”+ ”| + ae 3、 Controls 、 Tag、 Totri+ n l3 、 otro s i 、 ext g( ) *; p =p;if (i = panel 、 Cont ls 、 C un )b ffer = Syst、 Text 、 nco ng、 e aul 、Get ytes (”+ pp ) ;/w 就是傳輸文件得標識符s、 Send( buffer); ich ex Box、 A pendT t ( 您給 ” + u、Text+ 發(fā)送了 + pane 、Contro s
31、、 oun+” 個文件” ) ;el e if( ar 0 、 To tr ng() =”1”) f( textBox1 、 et!= ”)n、 Wri ( buff r,,uffer、Len th );i (panel3、 Con rol 、 Count 0 )string p= ull;for( inti = 0; ipa el3 、 Controls、 ount ; i )string= ”* + p el3 、 Cn rolsi、 ex+”| + ane、 ont ls i 、 Ta、 T ri () ” ;pp+=p;if (i = p n l3 、 Control 、 on - )
32、uf r S em、 xt 、Encoding 、Defaul、 GetBy es(” + p);、 i e(bu f r, ,uff 、 ngt );ri TextB x1、 Appen et( ”您給 + bu 、 Text + 發(fā)送了 ” + ael3 、 t 、o n + ” 個文件 n );p = 0;pan l 、 Cont ols 、 lear();if (t xtBo 1、 Te!”) / 將您發(fā)送得消息顯示到消息框中stringdt teTime 、 Now、 To tr n ();stri g spli = d 、 Slit(n w a st ing r 我 + s it1
33、+” n”+ ) ;text x1、Tex+ ” n;r ch e tB x1、 AppendT xt(s ); t xt o、 ext ” ;4。 1。 4接收信息模塊詳細設計 ulic vod jiou(str ng g, Ar ayL st i, ring bte)Form2 lt = f (ms( Form )l 3; =x)判斷為聊天消息 sg = msg 、 Remove(0, 1 );if( l 2 、 ToSt ing ()= 0)/由于您就是消息接受者, 有可能最開始您并沒有打開與對方聊天得對話框,那這時在對方發(fā)消息過來得時候, 將自動彈出與對方聊天得對話框l 2= 就是未打
34、開狀態(tài)就是打開狀態(tài)lth、 Text =bt ; s、 BeginInvok ( ew formsh w(l、 S ow));/ 彈出對話框this、 egin voke(ew a dtext( l、d), s) ;li2 =1 ”;elset i、 eg nInvoke(new addtext( l、 a d) , msg);el e if (msg = )/判斷為傳輸文件消息msif (m ms 、 R move( , 1 g、 Con ains ( | )) ;if (li 2、 ToS rin () = )lt、 ext = t ;t s、BeginIne( new d te ( lt
35、、ad ), ms) ; s、BeginInvoke ( neforshow(lt、 Sh ) ) ; 2 ”;e sehis、BeginI v ke(new addte t(l、 d p1), sg); sThreadtr r =、Start(n w Th ead(ltsg) ;、write);pu lic voi ad ( tring y消息框中 , 就是對方發(fā)來得消息用紅字顯示) 在接受到對方傳過來得消息后, 將信息添加到textB x1、 ocus();s ing dt = DateTime、N w、 o trin( ) ;string l t=、 p it(n Char ); t i
36、ng str = bu、 Txt +” s it 1” n+y + ” ; ich extBox1 、A pend ext(str ) ;ri hTextB x1、Selec ionStart ricTex Bo 1、 L ng r 、 Length;ri extBo 1、 el ctionLength = r 、 Length;r ch extBox1 、 S lecti nColo Co or 、 R d;以上即各個模塊得詳細設計得主要實現過程。4、功能模塊劃分在本系統(tǒng)中,主機由 Soc et 實現 , 客戶機由 c lient與 Ne wo kStrea 實現 , 開啟程序后,加載事件啟
37、動主線程, 主線程模塊啟動兩個子線程:服務端監(jiān)聽線程以及網絡掃描模塊線程,由網絡掃描模塊線程掃描局域網內在線得IP ,然后為每個在線IP分配個小線程異步連接這些P, 最后連接成功得總合起來生成用戶列表顯示給用戶, 連接后自己本機當對方得客戶機 , 服務端監(jiān)聽線程接受連接請求 , 連接成功后自己本機當對方得主機, 只要連接成功 , 便啟動通信線程 , 開始不停檢查就是否有可接受得數據 , 通信模塊又包括兩個子模塊 : 數據接收模塊與數據發(fā)送模塊 , 聊天信息與傳輸文件信息由不同得頭標識符標識,當數據發(fā)送模塊發(fā)送文件信息(文件得標題,大小 ) 給對方時 , 對方得數據接收模塊接受到傳輸文件得信息,
38、開啟傳輸文件線程 , 由另一個專門為傳輸文件設定得套接字負責傳輸文件數據。4、 體系結構設計通常得通信工具,都采用客戶機/ 服務器( / )體系結構, S 結構就是這樣得一種結構 : 這種體系結構模式就是以數據庫服務器為中心、以客戶機為網絡基礎、 在信息系統(tǒng)軟件支持下 得兩層結構模型 這種體系結構中, 用戶操作模塊布置在客戶機上,數據存儲在服務器上得數據庫中??蛻魴C依靠服務器獲得所需要得網絡資源, 而服務器為客戶機提供網絡必須得資源。目前大多數信息系統(tǒng)就是采用l nt Se ver 結構。 / 體系結構根據系統(tǒng)規(guī)模需要相應得硬件配置,一般建立在小范圍網絡環(huán)境上,局域網之間再通過專門服務器提供連接與數據交換服務 .C S 程序可以更加注重流程, 可以對權限多層次校驗 , 對系統(tǒng)運行速度可以較少考慮 .C/S 體系結構系統(tǒng)部署代價與信息點得多少成正比, 可用于開發(fā)小型信息系統(tǒng)。C一般面向相對固定得用戶群,對信息安全得控制能力很強,一般高度機密得信息系統(tǒng)采用C/S 結構適宜。結束語隨著信息化時代得飛速發(fā)展,人們用于溝通, 聊天得工具越來越多 , 方式也越來越多樣化 .一款只能在局域網進行聊天得通信工具也非常具有實用性, 對于它相關得研究與開發(fā), 我們都很重視。 不知不覺即將畢業(yè), 在這次得畢業(yè)設計中,我們選擇了局域網 QQ得開發(fā)。 我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光伏組件回收產業(yè)鏈分析
- 二零二五版天然氣運輸合同協(xié)議書范本模板(含運輸保險)2篇
- 二零二五年度行政協(xié)議指導大全:環(huán)境保護合作協(xié)議3篇
- 婚慶行業(yè)安全生產工作總結
- 2025版物流企業(yè)物流外包合作協(xié)議6篇
- 二零二五年度綠色能源裝備制造個人股東股權轉讓合同2篇
- 光纖通信技術應用知到智慧樹章節(jié)測試課后答案2024年秋四川職業(yè)技術學院
- 二零二五版實習期員工勞動合同-實習期間安全防護3篇
- 二零二五年度酒店客房裝修與設施更新合同4篇
- 二零二五版?zhèn)D股投資合作協(xié)議書(產業(yè)鏈整合)3篇
- 2025-2030全球廢棄食用油 (UCO) 轉化為可持續(xù)航空燃料 (SAF) 的催化劑行業(yè)調研及趨勢分析報告
- 北京市北京四中2025屆高三第四次模擬考試英語試卷含解析
- 2024年快遞行業(yè)無人機物流運輸合同范本及法規(guī)遵循3篇
- 傷殘撫恤管理辦法實施細則
- 2024-2030年中國產教融合行業(yè)市場運營態(tài)勢及發(fā)展前景研判報告
- 2024年微生物檢測試劑行業(yè)商業(yè)計劃書
- 高中英語選擇性必修一單詞表
- 物業(yè)公司介紹
- (正式版)SHT 3551-2024 石油化工儀表工程施工及驗收規(guī)范
- 【永輝超市公司員工招聘問題及優(yōu)化(12000字論文)】
- 中國直銷發(fā)展四個階段解析
評論
0/150
提交評論