<pre id="p1pz5"><delect id="p1pz5"></delect></pre>
<output id="p1pz5"><delect id="p1pz5"><listing id="p1pz5"></listing></delect></output>

<p id="p1pz5"></p>

<pre id="p1pz5"></pre>

<p id="p1pz5"></p>
<pre id="p1pz5"><output id="p1pz5"></output></pre>
<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre><pre id="p1pz5"></pre>

<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"><menuitem id="p1pz5"></menuitem></output></p>

<output id="p1pz5"></output>
<pre id="p1pz5"><output id="p1pz5"></output></pre>

<p id="p1pz5"><delect id="p1pz5"><menuitem id="p1pz5"></menuitem></delect></p>

<p id="p1pz5"></p>
<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"></p>

<output id="p1pz5"><delect id="p1pz5"></delect></output>

<p id="p1pz5"></p>

<p id="p1pz5"></p>

<p id="p1pz5"></p>
<p id="p1pz5"><delect id="p1pz5"><address id="p1pz5"></address></delect></p>

<pre id="p1pz5"></pre>

<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre>

畢業設計網
畢業設計論文 | 畢業設計任務書 | 計算機外文翻譯 | 文獻綜述 | 機械模具類 |

基于TCP/IP的即時通系統

即時通訊IM是繼電話和電子郵件之后在全球迅速普及的新一代通信工具。由于其具有實時性、跨平臺性、成本低、效率高等優點而受到廣泛的使用。設計并實現一個能夠處理多用戶進行實時、安全的即時通信系統具有較強的現實意義。使用IM軟件,信息可以立刻發送到接受者,接受者可以不必馬上回復,而且可以同時向不同接受者發送不同的信息。IM繼承了電話的“及時性”和電子郵件的“并發性”(多任務)兩大優點,成為兩種通信方式的補充。本文圍繞這個中心,進行了適合于Windows平臺的即時通訊系統設計與實現。設計基于C/S架構,運用MSSQL做存儲,將客戶端與服務端分開,利用C#面向對象編程語言完成客戶端與服務端的編碼,實現好友管理、用戶點對點通信和文件傳輸等功能,減輕服務器端連接壓力,滿足一般用戶最基本的要求。同時深入的了解網絡通信的實現原理,拓寬自己的視野。
UDP;TCP;點對點;面向對象
2.3  功能需求
2.3.1  好友聊天
系統要求實現,當兩個用戶互為好友時,這兩個用戶聊天采用UDP通信,實現點對點通信,在聊天過程中不再經過Server端的轉發,而是直接向對方發送聊天內容[1]。
2.3.2  文件傳輸
系統要求,在進行兩個用戶進行文件傳輸時,采用TCP通信,保證信息的安全性、完整性與準確性。在請求文件傳輸時,需要經過雙方確認,確認后方開啟一條新的線程專門用來接收文件,直到文件收發完畢,然后終止該線程。在文件傳輸過程中,使用進度條來表示文件的傳輸的進度。文件傳輸完畢后,在用戶的聊天內容版面上提示文件接收成功!
2.3.3  好友列表
好友列表能夠顯示該用戶的所有好友,及好友的頭像。并按照分組的方式,將好友歸類顯示。統計組內好友的數量及在線人數并顯示到組名中。
2.3.4  好友管理
要求用戶可以對自己的好友進行管理,該管理主要是修改好友的備注信息,查找好友和添加好友等。
2.3.5  用戶端配置
用戶要能夠根據Server端地址和端口變動,調整客戶端中服務器地址信息,保證客戶端能夠與服務端進行連接。
要求用戶可以根據自己的興趣愛好選擇自己的喜歡的登錄風格,登錄風格變化后,將會在下次登錄時啟用,所有這些信息存儲在客戶端本地的配置文件中,方便客戶端的移植。
2.3.6  服務端配置
服務端配置,主要對三部分內容進行配置:UDP端口、TCP端口和數據庫配置。UDP端口是指Server端監聽的對外UDP請求,在保存是,需要測試該UDP端口是否被占用。如果被占用彈出提示,并取消保存。TCP端口與UDP端口設定及處理方式相同。數據庫連接配置部分,目前由三種數據庫:MSSQL、MySql和Oracle。數據庫配置部分,要求提供上述三種數據庫連接配置的測試,并針對于一種數據庫支持其端口變更。

目    錄
1 引言 1
1.1 課題目的和意義 1
1.2 中國即時通訊市場發展的狀況 1
2 需求分析 2
2.1 需求概述 2
2.2 系統目標 2
2.3 功能需求 2
2.3.1 好友聊天 2
2.3.2 文件傳輸 2
2.3.3 好友列表 2
2.3.4 好友管理 2
2.3.5 用戶端配置 2
2.3.6 服務端配置 3
2.4 可行性分析 3
2.5 相關技術 3
2.5.1 .Net編碼技術 3
2.5.2 數據庫存儲技術 4
2.5.3 傳輸協議 4
3 系統設計 5
3.1 概要設計 5
3.1.1 功能流程 5
3.1.2 業務流程圖 6
3.1.3 服務端結構 6
3.1.4 客戶端結構 7
3.2 詳細設計 7
3.2.1 數據庫設計 7
3.2.2 消息類型設計 10
3.2.3 功能模塊設計 11
4 系統實現 13
4.1 客戶端功能實現 13
4.1.1 功能流程 13
4.1.2 用戶注冊 14
4.1.3 用戶登錄 15
4.1.4 查找好友 17
4.1.5 添加好友 18
4.1.6 在線列表 18
4.1.7 查看好友信息 19
4.1.8 私聊 20
4.1.9 文件傳輸 22
4.2 服務端功能實現 22
4.2.1 服務端偵聽 22
4.2.2 服務端配置 23
4.2.3 服務端服務停止 24
4.2.4 服務端日志 25
4.2.5 服務端幫助 26
5 系統測試與運行 26
5.1 客戶端運行及測試結果 26
5.1.1 用戶注冊 26
5.1.2 配置 27
5.1.3 用戶登陸 28
5.1.4 用戶資料查看 28
5.1.5 好友搜索 29
5.1.6 添加好友 30
5.1.7 私聊 32
5.1.8 文件傳輸 32
5.2 服務端運行及測試結果 33
5.2.1 服務端配置 33
5.2.2 服務端測試 35
5.2.3 服務端開始監聽與停止監聽 35
5.2.4 服務端日志 36
5.2.5 服務端數據操作平臺 37
結束語 38
參考文獻 39
致謝 40

以上是一部分介紹,如需要完整的資料或者如不符合您的要求,請聯系技術人員qq:2881084329咨詢

上一篇:java公司人事勞資管理系統
下一篇:基于web的分類信息系統


版權所有 畢業設計網聯系qq:2881084329 © 2007-2022

蝴蝶中文综合娱乐网

<pre id="p1pz5"><delect id="p1pz5"></delect></pre>
<output id="p1pz5"><delect id="p1pz5"><listing id="p1pz5"></listing></delect></output>

<p id="p1pz5"></p>

<pre id="p1pz5"></pre>

<p id="p1pz5"></p>
<pre id="p1pz5"><output id="p1pz5"></output></pre>
<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre><pre id="p1pz5"></pre>

<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"><menuitem id="p1pz5"></menuitem></output></p>

<output id="p1pz5"></output>
<pre id="p1pz5"><output id="p1pz5"></output></pre>

<p id="p1pz5"><delect id="p1pz5"><menuitem id="p1pz5"></menuitem></delect></p>

<p id="p1pz5"></p>
<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"></p>

<output id="p1pz5"><delect id="p1pz5"></delect></output>

<p id="p1pz5"></p>

<p id="p1pz5"></p>

<p id="p1pz5"></p>
<p id="p1pz5"><delect id="p1pz5"><address id="p1pz5"></address></delect></p>

<pre id="p1pz5"></pre>

<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre>