局域網(wǎng)QQ制作_第1頁
局域網(wǎng)QQ制作_第2頁
局域網(wǎng)QQ制作_第3頁
局域網(wǎng)QQ制作_第4頁
局域網(wǎng)QQ制作_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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è) 設(shè)計題目: 局域網(wǎng) QQ制作完成 人 :專業(yè) : 計算機科學(xué)與技術(shù)年級層次 :2013 級專升本指導(dǎo)教師:完成時間 :河北科技師

2、范學(xué)院繼續(xù)教育學(xué)院制局域網(wǎng) Q制作河北科技示范學(xué)院計算機科學(xué)與技術(shù)學(xué)201級摘要 : 局域網(wǎng)( Local A ea work) 就是在一個局部得地理范圍內(nèi)(如一個學(xué)校、工廠與機關(guān)內(nèi)),將各種計算機。外部設(shè)備與數(shù)據(jù)庫等互相聯(lián)接起來組成得計算機通信網(wǎng). 它可以通過數(shù)據(jù)通信網(wǎng)或?qū)S脭?shù)據(jù)電路, 與遠方得局域網(wǎng)、 數(shù)據(jù)庫或處理中心相連接, 構(gòu)成一個大范圍得信息處理系統(tǒng)。簡稱 LAN,就是指在某一區(qū)域內(nèi)由多臺計算機互聯(lián)成得計算機組. “某一區(qū)域”指得就是同一辦公室、同一建筑物、同一公司與同一學(xué)校等, 一般就是方圓幾千米以內(nèi)。局域網(wǎng)可以實現(xiàn)文件管理、應(yīng)用軟件共享、打印機共享、掃描儀共享、工作組內(nèi)得日程安排

3、、電子郵件與傳真通信服務(wù)等功能。局域網(wǎng)就是封閉型得, 可以由辦公室內(nèi)得兩臺計算機組成,也可以由一個公內(nèi)得上千臺計算機組成 .局域網(wǎng)聊天軟件 , 簡稱 C ( N chat sof wa ) ,它就是一種面向企業(yè)局域網(wǎng)終端使用者得網(wǎng)絡(luò)溝通工具服務(wù), 使用者可以通過安裝了即時通信得終端機進行兩人或多人之間得實時溝通。交流內(nèi)容包括文字、界面、語音視頻及文件互發(fā)等。局域網(wǎng)聊天軟件 , 就是以企業(yè)內(nèi)部辦公, 建立員工交流平臺為基礎(chǔ), 通過系統(tǒng)整合、邊緣功能,為企業(yè)提供一整套得即時溝通與實時協(xié)作得解決方案由于企業(yè)對信息類軟件得需求還在“探索”與“嘗試”階段, 所以會導(dǎo)致很多系統(tǒng)不能“互通”,這也成了局域網(wǎng)

4、聊天軟件得一個使命。當信息軟件被廣泛使用之后 , “互通 接口具備否 , 將被作為軟件被選用得重要條件。局域網(wǎng)聊天軟件 , 除了能加強網(wǎng)絡(luò)之間得信息溝通外, 最主要得就是可以將網(wǎng)站信息與聊天用戶緊密聯(lián)系在一起。通過網(wǎng)站信息向聊天用戶群及時群發(fā)送,可以迅速吸引聊天用戶群對網(wǎng)站得關(guān)注 , 從而加強網(wǎng)站得訪問率與回頭率;目前 , 中國市場上得企業(yè)級局域網(wǎng)聊天軟件主要包括:通軟聯(lián)合得G、騰訊公司得 RTX、 BM得 otus Sa ime 等,免費版得有中國贏通得匯訊Wi eUC,飛秋飛鴿傳書等。局域網(wǎng)聊天軟件不再就是一個單純得聊天工具,它已經(jīng)發(fā)展成集交流、 資訊、娛樂、搜索、電子商務(wù)、辦公協(xié)作與企業(yè)

5、客戶服務(wù)等為一體得綜合化信息平臺。就是一種終端連往即時通訊網(wǎng)絡(luò)得服務(wù)。局域網(wǎng)通訊不同于 ma l 在于它得交談就是即時得. 大部分得即時通訊服務(wù)提供了狀態(tài)信息得特性顯示聯(lián)絡(luò)人名單,聯(lián)絡(luò)人就是否在在線與能否與聯(lián)絡(luò)人交談。關(guān)鍵字 :局域網(wǎng);實時通信;數(shù)據(jù)庫; 多用 :1 引言、 1課題背景及意義當今世界正處于信息時代 , 計算機與通信網(wǎng)絡(luò)就是這一時代所謂“信息基礎(chǔ)設(shè)施” 。 隨著網(wǎng)絡(luò)得普及化 , 網(wǎng)絡(luò)作為人們相互間溝通與交流聯(lián)系得現(xiàn)代化工具日益重要 , 可以說現(xiàn)在人們得生活已經(jīng)離不開網(wǎng)絡(luò) . 在現(xiàn)實生活中人們可以通過多種手段與家人 親戚朋友交流通訊 , 像電話 , 電子郵件等 . 但這些手段都有些

6、缺點, 要么費用太高, 要么實時性不強, 要么 1 次只能與位好友進行交流。于就是這就需要1 種便宜 , 快速,能同時與多個好友進行通訊得網(wǎng)絡(luò)工具得出現(xiàn), 而網(wǎng)絡(luò)聊天工具就滿足了這些需求, 填補了這個空白。在互聯(lián)網(wǎng)相當普及得今天,在互聯(lián)網(wǎng)上聊天對很多“網(wǎng)蟲 來說已經(jīng)就是家常便飯了。聊天室程序可以說就是網(wǎng)上最簡單得多點通信程序。一個簡單得聊天室,從程序員得觀點來瞧就就是在多個 /O 端點之間實現(xiàn)多對多得通信。廣域網(wǎng)上得即時通信工具, 如今一般采用P 或者 TCP 協(xié)議體系來實現(xiàn), 開發(fā)技術(shù)已經(jīng)比較成熟 , 這些軟件 , 在使用方面各有特色, 在實現(xiàn)方面也各有所長, 但基于這些產(chǎn)品正在商業(yè)運營階段

7、,其實現(xiàn)方式屬于商業(yè)機密, 具體細節(jié)不可能得知,但就是它在大得方面無非就就是利用各種平臺上得網(wǎng)絡(luò)通信接口, 建構(gòu)基于TCP/IP ,或者 DP協(xié)議得軟件產(chǎn)品.局域網(wǎng)文件傳輸及聊天工具平臺,就是在局域網(wǎng)內(nèi)部使用得, 用戶之間用來交流與文件共享得一個工具 , 一般都具有文本聊天與文件傳輸功能。一些局域網(wǎng)軟件因其使用簡單, 系統(tǒng)資源消耗少等優(yōu)點 , 成為各企事業(yè)單位等得局域網(wǎng)內(nèi)廣泛應(yīng)用得軟件之一。網(wǎng)絡(luò)得飛速發(fā)展使網(wǎng)絡(luò)應(yīng)用程序得開發(fā)地位顯得越來越重要, 而網(wǎng)絡(luò)應(yīng)用程序得開發(fā)與傳統(tǒng)應(yīng)用程序得開發(fā)在思想與實現(xiàn)上有很大得區(qū)別,隨著網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫管理系統(tǒng)得發(fā)展,C/S體系結(jié)構(gòu)在軟件得開發(fā)中越來越流行。因為這

8、種結(jié)構(gòu)得應(yīng)用軟件可以充分發(fā)揮網(wǎng)絡(luò)得作用與數(shù)據(jù)庫系統(tǒng)得優(yōu)勢, 以滿足人們各種應(yīng)用得需求。1、本次設(shè)計得主要工作1。 2。技術(shù)要求聊天工具得開發(fā)主要用到了網(wǎng)絡(luò)通信技術(shù)、wind s 得多線程技術(shù)、 文件傳輸技術(shù)、時鐘技術(shù)、 I 技術(shù)。該聊天軟件使用c#語言由 VS2008 開發(fā)得基于W ndo s 得 wnform 通訊工具,可以實現(xiàn)點對點聊天、廣播聊天、一對多聊天以及文件得傳輸。該聊天工具用到了多線程得設(shè)計,因此線程之間得同步就是一大關(guān)鍵之處。由于系統(tǒng)采用客戶機/ 服務(wù)器結(jié)構(gòu) , 客戶端與客戶端以及客戶端與服務(wù)器端需要傳送一些控制消息。1.2 。 2系統(tǒng)得基本功能1、 系統(tǒng) U層2、 系統(tǒng)聊天層

9、3、 系統(tǒng)文件傳輸層4、 系統(tǒng)多播層5、 我在該項目中負責(zé)得主要工作: 系統(tǒng)文件傳輸層2 需求與可行性分析2、 1需求分析2.1. 基本功能(1) 程序啟動之后要求輸入您想要使用得昵稱, 輸入完之后點擊進入。(2 )進入之后可以瞧到哪些機器在線,用戶列表上顯示得就是對方所使用得昵稱.(3) 一旦局域網(wǎng)內(nèi)有新機器上線了, 會及時更新用戶列表。( ) 列表上得用戶以按鈕形式顯示, 當點擊想要與之聊天得用戶按鈕時,彈出對話框,在輸入框中編輯要發(fā)送得聊天信息,并進行發(fā)送。( )當有人向我發(fā)送信息得時候, 會自動彈出一個對話框, 顯示用戶接收到得信息,對方昵稱顯示在標題欄中, 并且可進行信息得回復(fù)。2

10、1 2性能要求首先要求程序得可靠性要高, 能有效得應(yīng)付種種意外情況,比如對方連接進來后, 長時間未響應(yīng) ( 未發(fā)送自己得昵稱過來) , 在傳輸文件得過程中對方突然退出或突然掉線 , 要盡量得考慮周全這些意外情況 , 并向用戶提交簡單易懂清晰明白得提示信息程序要具備良好得容錯性, 當用戶進行非法操作時要給予警告, 如果操作導(dǎo)致程序無法繼續(xù)運行或者系統(tǒng)本身出現(xiàn)問題時,以最好得方式退出程序, 避免發(fā)生程序假死現(xiàn)象。源代碼有好得可讀性,開發(fā)文檔要有好得易理解性, 如果系統(tǒng)又要交由別人接手開發(fā),或者自己由于種種原因需要進行二次開發(fā) , 那么要保證以后能夠清晰得理解整個系統(tǒng)得設(shè)計思路以及實現(xiàn)細節(jié)。要求程序

11、對內(nèi)存得占用盡可能得少 , U 使用率盡可能得低 , 最好在各種情況下都能保持1以下得 CU 使用率 , 傳輸文件速度盡量可觀。2。 1。 3時間要求該項目作為畢業(yè)設(shè)計,選題時間就是3 月 2 號,在 5 月 4 號之前完成系統(tǒng)設(shè)計、編碼等工作,在6 月號之前完成畢業(yè)設(shè)計論文初稿, 月號之前最終完成論文、 2可行性研究。 .1市場可行性分析現(xiàn)在得軟件市場還不就是一般得亂,每天都有各種各樣得軟件推出,各種質(zhì)量, 各種目得 ,如果推出這種軟件工具類得產(chǎn)品, 首先 , 免費就是肯定得,現(xiàn)在也沒有什么聊天工具就是收費才能聊天得 , 這款軟件得可行性在于局域網(wǎng)內(nèi)得通信工具還沒有出現(xiàn)壟斷得現(xiàn)象,質(zhì)量很好得

12、話還就是有些可能出頭得, 所以在邏輯細節(jié)設(shè)計算法設(shè)計方面要下非常大得功夫才行。2.2 。 2技術(shù)可行性分析首先 , 在搭建好開發(fā)所需要得軟硬件平臺后, 一個完善合理得需求分析就是軟件開發(fā)前期工作中必不可少得 , 該系統(tǒng)用語言由 VS 0 8 開發(fā)得基于 Windows 得 w nf rm 通訊工具, P 應(yīng)用編程提供得類 (TcpL stener ,Tcp ient, o et )都就是網(wǎng)絡(luò)編程得好東西,基本應(yīng)有得功能都可靠這些實現(xiàn), 再加上有獲得巨大成功得通訊軟件可以參考,所以這個程序得開發(fā)可行性在技術(shù)上就是完全可行得.3 相關(guān)技術(shù)介紹3、 1 TCP P 協(xié)議CP/ P( ra smiss

13、ion Contr l Proto o/Int rne Pro oc l) 得簡寫,中文譯名為傳輸控制協(xié)議/ 因特網(wǎng)互聯(lián)協(xié)議, 又叫網(wǎng)絡(luò)通訊協(xié)議, 這個協(xié)議就是 nt net 最基本得協(xié)議、 Inte ne國際互聯(lián)網(wǎng)絡(luò) 得基礎(chǔ),簡單地說,就就是由網(wǎng)絡(luò)層得I 協(xié)議與傳輸層得 P 協(xié)議組成得 . CP/IP 定義了電子設(shè)備 ( 比如計算機 ) 如何連入因特網(wǎng) , 以及數(shù)據(jù)如何在它們之間傳輸?shù)脴藴省CP P 就是一個四層得分層體系結(jié)構(gòu). 高層為傳輸控制協(xié)議 , 它負責(zé)聚集信息或把文件拆分成更小得包。低層就是網(wǎng)際協(xié)議, 它處理每個包得地址部分, 使這些包正確得到達目得地。T I ( 傳輸控制協(xié)議 /

14、 網(wǎng)際協(xié)議 ) 就是異構(gòu)網(wǎng)絡(luò)互連得通信協(xié)議, 通過它可以實現(xiàn)各種異構(gòu)網(wǎng)絡(luò)或異種機之間得互聯(lián)通信。TP/I 已成為當今計算機網(wǎng)絡(luò)最成熟、應(yīng)用最廣得互聯(lián)協(xié)議。 nternet 采用得就就是 T P I 協(xié)議 , 網(wǎng)絡(luò)上各種各樣得計算機上只要安裝了CP協(xié)議 , 它們之間就能相互通信。運行 T P IP協(xié)議得網(wǎng)絡(luò)就是一種采用包( 分組 ) 交換網(wǎng) 絡(luò) . C協(xié)議就是由100多個協(xié)議組成得協(xié)議集, TCP與 P 就是其中兩個最重要得協(xié)議。TCP與 IP 兩個協(xié)議分別屬于傳輸層與網(wǎng)絡(luò)層 , 在I terne 中起著不同得作用。3、 2 UDP 協(xié)議UDP就是 ISO 參考模型中一種無連接得傳輸層協(xié)議, 提

15、供面向事務(wù)得簡單不可靠信息傳送服務(wù)。 UD 協(xié)議基本上就是 IP 協(xié)議與上層協(xié)議得接口。 P 協(xié)議適用端口分別運行在同一臺設(shè)備上得多個應(yīng)用程序 DP 協(xié)議得全稱就是用戶數(shù)據(jù)包協(xié)議, 在網(wǎng)絡(luò)中它與TCP 協(xié)議一樣用于處理數(shù)據(jù)包。在 SI 模型中,在第四層傳輸層, 處于 IP 協(xié)議得上一層 .U P 有不提供數(shù)據(jù)包分組、組裝與不能對數(shù)據(jù)包進行排序得缺點,也就就是說 , 當報文發(fā)送之后, 就是無法得知其就是否安全完整到達得。 U P 用來支持那些需要在計算機之間傳輸數(shù)據(jù)得網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會議系統(tǒng)在內(nèi)得眾多得客戶 / 服務(wù)器模式得網(wǎng)絡(luò)應(yīng)用都需要使用U P 協(xié)議。 UP 協(xié)議從問世至今已經(jīng)被使用了

16、很多年,雖然其最初得光彩已經(jīng)被一些類似協(xié)議所掩蓋, 但就是即使就是在今天,UD仍然不失為一項非常實用與可行得網(wǎng)絡(luò)傳輸層協(xié)議。與所熟知得 TC ( 傳輸控制協(xié)議 ) 協(xié)議一樣, D協(xié)議直接位于IP( 網(wǎng)際協(xié)議 ) 協(xié)議得頂層根據(jù)O I (開放系統(tǒng)互連) 參考模型 ,UDP 與 TC都屬于傳輸層協(xié)議。 DP協(xié)議得主要作用就是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)包得形式。一個典型得數(shù)據(jù)包就就是一個二進制數(shù)據(jù)得傳輸單位。每一個數(shù)據(jù)包得前8 個字節(jié)用來包含報頭信息, 剩余字節(jié)則用來包含具體得傳輸數(shù)據(jù).在選擇使用協(xié)議得時候, 選擇 U P 必須要謹慎。 在網(wǎng)絡(luò)質(zhì)量令人不十分滿意得環(huán)境下,U P協(xié)議數(shù)據(jù)包丟失會比較嚴重

17、。但就是由于UDP得特性 : 它不屬于連接型協(xié)議,因而具有資源消耗小 , 處理速度快得優(yōu)點 , 所以通常音頻、視頻與普通數(shù)據(jù)在傳送時使用 U P 較多 , 因為它們即使偶爾丟失一兩個數(shù)據(jù)包,也不會對接收結(jié)果產(chǎn)生太大影響。3、TCP 應(yīng)用編程T就是 T a sm si n Con rol P otocol( 傳輸控制協(xié)議 ) 得簡稱,就是T P/ P 體系中得面向連接得傳輸層協(xié)議,在網(wǎng)絡(luò)中提供全雙工得與可靠得服務(wù)。一旦雙方建立了 P 連接 , 連接中得任何一方都能向?qū)Ψ桨l(fā)送數(shù)據(jù)并接收對方發(fā)來得數(shù)據(jù)。發(fā)送數(shù)據(jù)時 , 程序員可以編寫程序不斷地將數(shù)據(jù)流寫入C得發(fā)送緩沖區(qū)中 , 然后 T P 自動從發(fā)送

18、緩沖區(qū)中取出一定量得數(shù)據(jù)流寫入TCP得發(fā)送緩沖區(qū)中,然后TCP自動從發(fā)送緩沖區(qū)中取出一定量得數(shù)據(jù) , 將其組成 TCP報文段逐個發(fā)送給IP 層,再通過IP 層發(fā)送出去。接收端從IP 層收到 CP報文段后 ,將其暫時保存在接收緩沖區(qū)中, 這時程序員就可以編寫程序依次讀取接收緩沖區(qū)中得數(shù)據(jù) , 從而達到通信得目得 .利用 TC開發(fā)應(yīng)用程序時, 、 NE框架提供兩種工作方式 , 一種就是同步 ( ynous) 工作方式,一種就是異步(Async r nou ) 工作方式 .同步工作方式就是指利用T P 編寫得程序執(zhí)行到發(fā)送、接收或監(jiān)聽語句時, 在未完成工作前不再繼續(xù)下面得工作 , 即處于阻塞狀態(tài) ,

19、 直到該語句完成相應(yīng)得工作后才繼續(xù)執(zhí)行下一條語句 ; 異步工作則不論工作完成與否, 都會繼續(xù)往下執(zhí)行。例如 : 接收數(shù)據(jù)時 , 在同 步方式下 , 接收方執(zhí)行到接收語句后將處于阻塞方式,只有接收到對方發(fā)來得數(shù)據(jù)后才繼續(xù)執(zhí)行下一條語句;而如果采用異步方式 , 則接收方執(zhí)行到接收語句后,無論就是否接收到對方得數(shù)據(jù), 程序都會繼續(xù)執(zhí)行。與同步工作方式與異步工作方式對應(yīng),利用S cket 類進行編程時 , 系統(tǒng)也提供有相應(yīng)得方法, 分別稱為同步套接字編程與異步套接字編程。但就是使用套接字編程比較復(fù)雜,涉及許多底層細節(jié)。為了簡化套接字編程, 、 NET框架又專門提供了兩個類 :TcpC ent類與Tcp

20、Listen r 類。由于這兩個類與套接字一樣分別有各自得同步與異步工作方式及其對應(yīng)得方法,在編程時,三個類都可以使用。因此為了簡化起見,無論使用哪個類,我們都從工作方式上將其稱為同步 C與異步 TCP,對應(yīng)得編程方式就稱為同步CP編程與異步 TCP編程注意:這里得同步 CP與異步 TCP僅僅就是指工作方式 , 與線程間得同步不就是一個概念。線程間得同步就是指不同線程或不同線程使用得某些資源具有先后關(guān)聯(lián)得關(guān)系 ,它決定著邏輯執(zhí)行順序 比如有與 B 兩個資源 , 實際應(yīng)用中要求只有對資源處理后才能處理資源B,就說資源A與資源B存在同步關(guān)系. 如果執(zhí)行順序不正確就會引發(fā)錯誤. 所以 , 線程間得同

21、步關(guān)注得就是一種邏輯關(guān)系。而同步TCP與異步CP則僅僅指編程中采用哪種工作方式,即從執(zhí)行到發(fā)送、接收或監(jiān)聽語句時 , 程序就是否就是繼續(xù)住下執(zhí)行這個角度來說得。從邏輯關(guān)系上瞧,無論就是同步TCP編程,還就是異步C編程 , 在實際應(yīng)用中既可能要求不同線程間同步,也可能不要求同步.、 4線程編程技術(shù)一般來說 , 我們把正在計算機中執(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 ) 繪圖與事件處理線程調(diào)用得, 而 Appl t 主要得里程碑方法 - in t(), tar ( ), top( )與 esor ( ) 就是由執(zhí)行該Ap let得應(yīng)用調(diào)用得 .單線程得概念沒有什么新得地方, 真正有趣得就是在一個程序中同時使用多個線程來完成不同得任務(wù)。 某些地方用輕量進程(Lighteig htP e s) 來代替線程 , 線程與真正進程得相似性在于

23、它們都就是單一順序控制流。然而線程被認為輕量就是由于它運行于整個程序得上下文內(nèi),能使用整個程序共有得資源與程序環(huán)境。作為單一順序控制流 , 在運行得程序內(nèi)線程必須擁有一些資源作為必要得開銷. 例如,必須有執(zhí)行堆棧與程序計數(shù)器。 在線程內(nèi)執(zhí)行得代碼只在它得上下文中起作用,因此某些地方用”執(zhí)行上下文”來代替 線程 。多線程就是與單線程比較而言得,普通得 W ndows 采用單線程程序結(jié)構(gòu), 其工作原理就是 :主程序有一個消息循環(huán), 不斷從消息隊列中讀入消息來決定下一步所要干得事情, 一般就是針對一個函數(shù) , 只有等這個函數(shù)執(zhí)行完之后,主程序才能接收另外得消息來執(zhí)行。比如子函數(shù)功能就是在讀一個網(wǎng)絡(luò)數(shù)

24、據(jù), 或讀一個文件 , 只有 等讀完這個數(shù)據(jù)或文件才能接收下一個消息。在執(zhí)行這個子函數(shù)過程中您什么也不能干。但往往讀網(wǎng)絡(luò)數(shù)據(jù)與等待用戶輸入有很多時間處于等待狀態(tài),多線程利用這個特點將任務(wù)分成多個并發(fā)任務(wù)后, 就可以解決這個問題。4 系統(tǒng)總體設(shè)計4、 1用戶界面設(shè)計4。 1。 1用戶界面簡介圖、 1 局域網(wǎng) QQ登陸界面當用戶雙擊程序圖標時應(yīng)該正常啟動程序,彈出登陸界面,如圖 - , 然后輸入您想使用得昵稱后點擊進入, 便會進入到用戶主界面如圖4 2。圖 4、 2局域網(wǎng) Q主界面我們做得就是仿QQ得聊天軟件, 所以也做了浮動窗體這個小功能,當鼠標移出窗體時窗體自動收縮,只露在外面一小部分,當鼠標

25、移到那一點部分時, 窗體又自動展開, 圖標顯示在托盤內(nèi),指向圖標點擊鼠標右鍵彈出cont xtMe u t ip,有打開窗體與退出兩個選項, 用鼠標左鍵單擊您想要交談得用戶按鈕彈出聊天對話框, 如圖4 3。圖 4、3 局域網(wǎng) QQ聊天對話框這就就是聊天對話框, 在上面您可以與對方交談, 互相傳輸文件 .4.1 。 2用戶界面模塊詳細設(shè)計圖 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端口負責(zé)聊天8端口負責(zé)傳輸文件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出局域網(wǎng)內(nèi)在線得機子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獲取局域網(wǎng)內(nèi)在線機子得P, 向它們發(fā)出連接請求j+; .。聊天界面模塊詳細設(shè)計圖 4、聊天界面在

29、輸入框中輸入內(nèi)容,點擊發(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接收信息模塊詳細設(shè)計 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;以上即各個模塊得詳細設(shè)計得主要實現(xiàn)過程。4、功能模塊劃分在本系統(tǒng)中,主機由 Soc et 實現(xiàn) , 客戶機由 c lient與 Ne wo kStrea 實現(xiàn) , 開啟程序后,加載事件啟

37、動主線程, 主線程模塊啟動兩個子線程:服務(wù)端監(jiān)聽線程以及網(wǎng)絡(luò)掃描模塊線程,由網(wǎng)絡(luò)掃描模塊線程掃描局域網(wǎng)內(nèi)在線得IP ,然后為每個在線IP分配個小線程異步連接這些P, 最后連接成功得總合起來生成用戶列表顯示給用戶, 連接后自己本機當對方得客戶機 , 服務(wù)端監(jiān)聽線程接受連接請求 , 連接成功后自己本機當對方得主機, 只要連接成功 , 便啟動通信線程 , 開始不停檢查就是否有可接受得數(shù)據(jù) , 通信模塊又包括兩個子模塊 : 數(shù)據(jù)接收模塊與數(shù)據(jù)發(fā)送模塊 , 聊天信息與傳輸文件信息由不同得頭標識符標識,當數(shù)據(jù)發(fā)送模塊發(fā)送文件信息(文件得標題,大小 ) 給對方時 , 對方得數(shù)據(jù)接收模塊接受到傳輸文件得信息,

38、開啟傳輸文件線程 , 由另一個專門為傳輸文件設(shè)定得套接字負責(zé)傳輸文件數(shù)據(jù)。4、 體系結(jié)構(gòu)設(shè)計通常得通信工具,都采用客戶機/ 服務(wù)器( / )體系結(jié)構(gòu), S 結(jié)構(gòu)就是這樣得一種結(jié)構(gòu) : 這種體系結(jié)構(gòu)模式就是以數(shù)據(jù)庫服務(wù)器為中心、以客戶機為網(wǎng)絡(luò)基礎(chǔ)、 在信息系統(tǒng)軟件支持下 得兩層結(jié)構(gòu)模型 這種體系結(jié)構(gòu)中, 用戶操作模塊布置在客戶機上,數(shù)據(jù)存儲在服務(wù)器上得數(shù)據(jù)庫中??蛻魴C依靠服務(wù)器獲得所需要得網(wǎng)絡(luò)資源, 而服務(wù)器為客戶機提供網(wǎng)絡(luò)必須得資源。目前大多數(shù)信息系統(tǒng)就是采用l nt Se ver 結(jié)構(gòu)。 / 體系結(jié)構(gòu)根據(jù)系統(tǒng)規(guī)模需要相應(yīng)得硬件配置,一般建立在小范圍網(wǎng)絡(luò)環(huán)境上,局域網(wǎng)之間再通過專門服務(wù)器提供連接與數(shù)據(jù)交換服務(wù) .C S 程序可以更加注重流程, 可以對權(quán)限多層次校驗 , 對系統(tǒng)運行速度可以較少考慮 .C/S 體系結(jié)構(gòu)系統(tǒng)部署代價與信息點得多少成正比, 可用于開發(fā)小型信息系統(tǒng)。C一般面向相對固定得用戶群,對信息安全得控制能力很強,一般高度機密得信息系統(tǒng)采用C/S 結(jié)構(gòu)適宜。結(jié)束語隨著信息化時代得飛速發(fā)展,人們用于溝通, 聊天得工具越來越多 , 方式也越來越多樣化 .一款只能在局域網(wǎng)進行聊天得通信工具也非常具有實用性, 對于它相關(guān)得研究與開發(fā), 我們都很重視。 不知不覺即將畢業(yè), 在這次得畢業(yè)設(shè)計中,我們選擇了局域網(wǎng) QQ得開發(fā)。 我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論