C1055 網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2_第1頁
C1055 網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2_第2頁
C1055 網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2_第3頁
C1055 網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2_第4頁
C1055 網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘 要21世紀(jì)人類進(jìn)入了一個(gè)以網(wǎng)絡(luò)計(jì)算機(jī)為中心的信息主導(dǎo)型時(shí)代,現(xiàn)在人們可以使用計(jì)算機(jī)在瞬間迅速地處理和傳遞大量信息。網(wǎng)絡(luò)的快速發(fā)展使得信息交流的速度和方式發(fā)生了巨大的變化,人們已經(jīng)越來越明顯地看到了計(jì)算機(jī)網(wǎng)絡(luò)帶來的社會(huì)生活方面的巨大變革。隨著互聯(lián)網(wǎng)技術(shù)的飛速進(jìn)步,有關(guān)網(wǎng)絡(luò)的技術(shù)層出不窮,網(wǎng)絡(luò)聊天系統(tǒng)也成為了一種深受大眾喜愛、應(yīng)用廣泛的工具。網(wǎng)絡(luò)聊天是互聯(lián)網(wǎng)上一種非常普及的應(yīng)用,文中以.NET平臺(tái)作為開發(fā)工具,使用Socket作為應(yīng)用程序開發(fā)模型,可方便服務(wù)器與客戶端建立連接,數(shù)據(jù)傳輸和斷開連接。此外,在開發(fā)的過程中還采用了多線程技術(shù),以完成客戶進(jìn)程間的調(diào)度,實(shí)現(xiàn)多用戶操作。文章中設(shè)計(jì)了一個(gè)簡

2、單的桌面聊天系統(tǒng),包括服務(wù)器端和客戶端兩個(gè)部分,服務(wù)器和客戶端之間通過Socket編程技術(shù)實(shí)現(xiàn)建立連接的過程,并進(jìn)行通信。服務(wù)器端主要包括如下功能:顯示登陸服務(wù)器主機(jī)及端口號(hào),記錄登陸用戶并管理用戶基本信息??蛻舳朔譃橛脩舻顷懞土奶靸蓚€(gè)子模塊,兩個(gè)模塊包括如下功能:顯示服務(wù)器端口、用戶登陸、管理用戶聊天記錄、顯示用戶狀態(tài)和私聊模式。關(guān)鍵詞:網(wǎng)絡(luò)聊天系統(tǒng),服務(wù)器端,客戶端,Socket,多線程ABSTRACTThe 21st century, mankind has entered a information-oriented era of network computer as the cen

3、ter , now people can use the computer rapidly processing and transmisting information in an instant. The rapid development of network makes the exchange of information rate and manner has taken place tremendous changes, it is more and more evident that enormous changes of the social life brought abo

4、ut by the computer networks. As the internet is developing rapidly, the technology on network emerges one another instantly. The network chat system is also becoming a popular, widely-used tool.Network chat on the internet is a very popular application, in the text, we use .NET platform as a develop

5、ment tool, and socket as the application development model, to facilitate the establishment of the client and server connectivity, data transmission and disconnect. In addition, in the process of developing also uses the multi-threaded technology to complete the process for scheduling, and multi-use

6、r operation. The article designs a simple desktop chat system, including server and client in two parts, between the client and server through Socket programming technology to connect the process, and communications. The server end mainly includes the following functions: showing landing server host

7、 and port number, users log records and manage user basic information. The customer end module was divided into two pieces of module, logining and chating, which include the following functions: showing server port, logining, the management of user chats, showing users state and private model.Keywor

8、ds:Network Chat System, the server end, the client end, Socket, multi-threading technology目 錄第1章 引言11.1 課題的背景及意義11.2 課題的研究現(xiàn)狀11.3 本文的組織方式2第2章 關(guān)鍵技術(shù)及開發(fā)工具42.1 TCP/IP協(xié)議和Socket簡介42.1.1 TCP協(xié)議簡介52.1.2 端口簡介62.1.3 名稱空間62.1.4 Socket編程技術(shù)72.2 多線程技術(shù)92.3 開發(fā)工具介紹10第3章 網(wǎng)絡(luò)聊天系統(tǒng)分析123.1 系統(tǒng)實(shí)現(xiàn)目標(biāo)及基本原理123.2 需求分析123.2.1 功能需求分

9、析123.2.2 性能需求分析133.3 系統(tǒng)體系結(jié)構(gòu)13第4章 系統(tǒng)設(shè)計(jì)154.1 系統(tǒng)模塊分析154.2 服務(wù)器端的設(shè)計(jì)174.3 客戶端的設(shè)計(jì)18第5章 系統(tǒng)實(shí)現(xiàn)205.1 服務(wù)器端的實(shí)現(xiàn)205.1.1 服務(wù)器初始化215.1.2 建立與客戶端連接225.1.3 與客戶端通信235.1.4 向客戶端發(fā)送命令235.2 客戶端的實(shí)現(xiàn)245.2.1 登陸子模塊的實(shí)現(xiàn)245.2.2 客戶端聊天子模塊的實(shí)現(xiàn)26結(jié) 論30參考文獻(xiàn)31致 謝331.3 本文的組織方式本文對(duì)網(wǎng)絡(luò)聊天系統(tǒng)進(jìn)行了詳細(xì)的分析研究,并采用當(dāng)今比較主流的技術(shù)進(jìn)行了設(shè)實(shí)現(xiàn)計(jì)。本文共有5章。第1章 引言 主要是給出課題的研究背景、

10、研究的現(xiàn)狀,并且概括了論文主要內(nèi)容。第2章 關(guān)鍵技術(shù)及開發(fā)工具 介紹了聊天系統(tǒng)所采用的關(guān)鍵技術(shù),并對(duì)系統(tǒng)開發(fā)工具進(jìn)行了簡單的介紹。第3章 系統(tǒng)分析與設(shè)計(jì) 首先介紹系統(tǒng)實(shí)現(xiàn)的基本原理,給出了要實(shí)現(xiàn)的目標(biāo)并對(duì)其進(jìn)行需求分析,并重點(diǎn)給出了系統(tǒng)的體系結(jié)構(gòu)。第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 首先對(duì)系統(tǒng)的功能模塊進(jìn)行劃分,并著重給出了系統(tǒng)的詳細(xì)設(shè)計(jì)方案。第5章 系統(tǒng)實(shí)現(xiàn) 針對(duì)系統(tǒng)功能模塊分別進(jìn)行實(shí)現(xiàn),包括服務(wù)器部分和客戶端部分??偨Y(jié) 對(duì)所做的研究和設(shè)計(jì)進(jìn)行總結(jié)。最后附上致謝和參考文獻(xiàn)!本聊天系統(tǒng)的總體框架如圖4.1所示:網(wǎng)絡(luò)聊天系統(tǒng)服務(wù)器客戶端顯示IP及端口在線用戶列表用戶狀態(tài)用戶狀態(tài)用戶聊天在線用戶列表私聊模式登陸

11、模塊開始初始化系統(tǒng)建立與客戶端連接處理用戶請(qǐng)求,進(jìn)行數(shù)據(jù)通信結(jié)束token0=exitYN圖4.2 服務(wù)器端程序流程圖圖5.4 用戶沈亞坤的初始窗口5.2.2 客戶端聊天子模塊的實(shí)現(xiàn)在ChatClient項(xiàng)目中將Form1.cs重命名為ChatClientForm.cs,為了使用Socket對(duì)象和Thread對(duì)象,在代碼文件中加入名字空間System.Net、System.Net.Sockets和System.Thread的引用。當(dāng)加載窗體時(shí),便會(huì)進(jìn)入ChatClientForm_Load處理程序,在ChatClientForm_Load處理程序中,首先顯示用戶登錄窗口,如圖5.3所示。如果登

12、錄成功,那么獲取與服務(wù)器的連接并得到與服務(wù)器數(shù)據(jù)交互的流通道,向服務(wù)器發(fā)送CONN請(qǐng)求命令,同時(shí)啟動(dòng)一個(gè)新的線程用于響應(yīng)從服務(wù)器發(fā)回的信息(在方法ServerResponse()中實(shí)現(xiàn))。ServerResponse()方法用于和服務(wù)器進(jìn)行數(shù)據(jù)通信,主要是接收從服務(wù)器發(fā)回的信息,根據(jù)不同的命令,執(zhí)行相應(yīng)的操作。當(dāng)選中“悄悄話”復(fù)選框時(shí),便會(huì)進(jìn)入priCheckBox_CheckedChanged處理程序。用戶進(jìn)行私聊時(shí)的程序流程圖如圖5.5所示:選擇“悄悄話”設(shè)置布爾值if(privatemode)向所有用戶發(fā)送信息向所選用戶發(fā)送信息結(jié)束YN單擊“離開”開始圖5.5 私聊流程圖在priChec

13、kBox_CheckedChanged處理程序中主要對(duì)privatemode布爾屬性進(jìn)行設(shè)置,具體代碼如下:private void priCheckBox_CheckedChange(object sender,System.EventArgs e)If(priCheckBox.Checked) Privatemode=true;Else Privatemode=false;當(dāng)單擊“發(fā)送”按鈕時(shí),便會(huì)進(jìn)入btnSend_Click處理程序。在btnSend_Click處理程序中,如果privatemode布爾屬性值為false(說明不是私聊),將CHAT命令發(fā)送給服務(wù)器;否則(為私聊),將P

14、RIV命令發(fā)送給服務(wù)器,注意命令格式一定要與服務(wù)器端的命令格式一致,用戶私聊模式如圖5.6所示。圖5.6 盧勝寶收到沈亞坤的信息后的窗口當(dāng)單擊“離開”按鈕時(shí),便進(jìn)入了btnExit_Click處理程序。在btnExit_Click處理程序中,將EXIT命令發(fā)送給服務(wù)器,此命令格式要與服務(wù)器端的命令格式一致,具體代碼如下:Private void btnExit_Click(Object sender , System.EventArgs e) String message=”EXIT|”+UserAlias+”|;/將字符串轉(zhuǎn)化為字符數(shù)組Byteoutbytes=System.Text.Encoding.ASCII.GetBytes(message.ToCharAr

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論