999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

局域網內即時通訊系統的設計

2013-04-29 00:00:00林妍
中國新通信 2013年12期

【摘要】即時通訊系統(IM)作為一種通訊手段,提供方便快捷的交流方式,通過網絡進行在線文字交談,文件傳輸、語音對話及進行視頻會議等。本文主要研究的是基于TCP協議,利用Socket網絡編程技術,采用C#面向對象編程理念實現的即時通訊系統。系統結合C/S模式與P2P模式的優點,采用二者混合的模式作為總體的設計模式,服務器端主要處理與數據庫相關的客戶請求,客戶端與其他客戶端進行連接通訊,無需服務器中轉,減輕服務器端負擔,提高信息傳遞的實時性和高效性。系統實現申請帳戶、驗證登陸、即時聊天、用戶管理,好友添加、文件傳輸、聊天記錄查詢等功能,并使用Visual C#強大的界面處理能力,提供友好的服務器和客戶端操作界面。

【關鍵詞】即時通訊TCP SocketC/SP2P

一、背景與研究目的

隨著全球信息化進程與網絡飛速發展,龐大的用戶群影響網絡性能、信息阻塞,而MSN、QQ等即時通訊軟件嚴重依賴良好的Internet網絡接入條件。而且一些單位企業,特別是政府機構的內部網絡和Internet的接入受到嚴格的限制條件約束,通訊端口關閉或使用網匣來實現內外網的特定服務之間的數據交換。為解決這些矛盾,更高效的完成局域網內協同合作,局域網即時通訊系統的研究顯得非常重要。

二、系統需求分析

1、系統實現目標

局域網內即時通訊系統要完成局域網內用戶的協同工作,保證交流的實時性和信息傳遞的準確高效性,方便用戶溝通。(1)實現即時通訊的基本功能:即時消息傳送、文件傳輸、好友管理、個人資料管理、語音視頻聊天等。為用戶提供最基本的通訊功能,并提供一個友好的操作界面。(2)保證信息傳遞的高效性。適應局域網通訊的特點,保證信息在局域網內傳遞的高效、穩定、正確。(3)考慮C/S模式下服務器負荷問題。減輕服務器負擔,保證服務器穩定工作。(4)系統具有擴展性。用戶的需求隨著應用的深入而不斷變化,具有良好的可擴展性,便于二次開發。

2、系統組成

系統以Visual Studio為開發環境,C#為編程語言,SQL Server為數據庫存儲數據,采用C/S模式和P2P模式相混合的模式,由IM客戶端、IM服務器端兩部分組成。服務器端通過操作數據庫處理客戶端的各種不同請求,客戶端根據本地資源或服務器返回的信息完成用戶操作。在設計和實現系統各功能模塊時,利用Socket網絡編程技術,使用Socket套接字助手完成客戶機與服務器、客戶機與客戶機之間的通信,通信時采用TCP協議,保證數據可靠穩定傳輸。

3、系統的基本功能

(1)服務器端功能。客戶端可以向服務器發出13種不同的請求:請求注冊、請求登陸驗證、請求在線好友列表、請求添加好友、通知服務器添加好友成功、請求刪除好友、根據ID或昵稱請求某用戶信息、請求修改個人資料、請求所有在線用戶列表、請求更改個人狀態、請求所有好友列表、通知服務器自己的IP和端口、通知服務器自己退出。服務器根據請求命令的不同,給予不同的處理,這些處理通過操作數據庫,更新、提取相關信息來實現。

(2)客戶端功能。客戶端提供友好的用戶使用界面,用戶通過服務器的登陸驗證后進入即時通訊主界面,通過具體操作,實現與好友即時聊天,根據ID或昵稱查找其他用戶,查找所有在先線用戶,添加好友,刪除好友,查看聊天記錄、給好友傳送文件、修改個人信息等。另外,在用戶進入主界面的同時,啟動偵聽線程,用于偵聽連入本機的連接請求。請求包括好友上下線通知、即時聊天請求、加為好友請求、文件傳輸請求、同意加為好友請求,用戶修改個人信息請求。

三、系統框架設計

1、服務器端設計。啟動服務器,使服務器的偵聽端口處于偵聽狀態。當偵聽到用戶接入時,接受連接,生成處理該連接的Socket,接受連接傳入的請求,創建新線程,接收并解析用戶傳來的數據,獲取請求命令并做出相應的處理,通過socket將處理結果返回給客戶端。服務器偵聽連接,接收來自客戶端的請求命令,根據命令請求的不同給予相應的處理。

2、客戶端設計。客戶端的設計分為:注冊模塊、登陸模塊、即時聊天模塊、文件傳輸模塊、用戶管理模塊、添加好友模塊、偵聽模塊、定時刷新模塊等。

注冊模塊:負責新用戶的注冊處理。進入注冊模塊后,輸入個人信息,提交給服務器。服務器接收請求處理后,返回一個用戶ID,用戶可以憑借該ID進入即時通訊主界面。

登陸模塊:對試圖進入系統的用戶進行權限驗證。輸入用戶ID,密碼及服務器IP,根據輸入的信息,連接服務器請求登陸,服務器根據提交的數據進行處理并將結果返回給客戶端。若通過了驗證,客戶端將服務器IP,個人IP及端口以及相關信息存入以uid命名的文件夾中。客戶端把自己的IP和端口發送給服務器并請求在線好友列表,若文件夾uid中沒有好友列表信息,則向服務器請求好友列表信息并將返回的信息全部放入uid文件夾的相關文件中。當向在線好友發送上線的消息后,系統進入主界面。若未通過驗證,客戶端會提示用戶錯誤信息,如用戶名不存在、密碼錯誤、無法連接服務器等。

偵聽模塊:該模塊相當于后臺處理。在即時通訊主界面載入同時,客戶端會創建并啟動偵聽線程。

添加好友模塊:可添加好友到自己的好友列表。選擇主界面的“查詢”,在彈出的窗口中可選擇“精確查找”或者“看誰在線上”兩種查找方式。選擇精確查找,輸入所要查找的用戶ID或者昵稱,向服務器提交相關信息后,客戶端會顯示查找的結果;選擇“看誰在線上”,服務器會返回所有在線用戶的列表(不包含自己)。在查詢返回的結果列表里,可添加選中的某用戶為好友,客戶端將根據服務器返回的該用戶的IP和端口信息直接向該選中用戶發出添加好友的請求。

用戶管理模塊:可修改個人信息、刪除好友、查看聊天記錄等,個人信息修改后將本地客戶端和遠程服務器端的相關信息都修改。用戶想與某好友解除好友關系,可以選擇該好友節點進行刪除。

即時聊天模塊:建立好友聊天,可雙擊好友節點,打開或激活聊天窗口。在聊天窗體載入前,客戶端會在存儲好友信息的文件中讀取該好友的信息,并在在線好友列表文件中檢查該好友是否在線,若好友在線,記錄該好友的IP和端口。當用戶在信息窗口輸入消息,點擊發送時,客戶端將消息發送給好友,好友接收到消息后,會將收到的信息顯示在聊天窗口中。若好友不在線,提示好友不在線,此時所發信息都將直接傳給服務器暫存,等好友上線,轉發給相應好友。

文件傳輸模塊:包括文件發送和文件接收。聊天時,選擇“文件傳輸”,在文件選擇窗口選擇要發送的文件,將文件打包成字節流后發送給對方。接收方收到文件傳輸請求后,建立連接,接收該連接傳送來的數據,然后解析數據內容,將其存盤。

定時刷新模塊:客戶端可能因為某些原因(如斷電,系統重啟)引起不正常關閉,而本地數據文件并沒有及時地保存相關數據,此時需客戶端定時向服務器端請求部分數據以更新本地文件及相關界面顯示。

四、結束語

即時通訊系提供了一種方便快捷的交流方式,成為語音及文本的在線實時通信的主要技術,是移動商務、在線協作及Internet應用的核心,同時也繼承IP技術的開放風格,扮演比電子郵件更為重要的角色,即時通訊系統的研究與開發也將會吸引越來越多的軟件開發者參與研究。

主站蜘蛛池模板: 欧美日韩中文国产va另类| 午夜无码一区二区三区在线app| 第九色区aⅴ天堂久久香| 尤物精品视频一区二区三区| 国产综合另类小说色区色噜噜| 亚洲精品桃花岛av在线| 极品私人尤物在线精品首页 | 日韩国产亚洲一区二区在线观看| 2020国产在线视精品在| 日韩天堂视频| 人妻无码中文字幕第一区| a级毛片免费网站| 亚洲AV无码久久精品色欲 | 亚洲无码视频喷水| 久久久黄色片| 亚洲色图欧美在线| 亚洲国产精品成人久久综合影院| 亚洲天堂网在线播放| 国产一区二区三区在线观看视频 | 国产美女精品在线| 黄色网站不卡无码| 国产波多野结衣中文在线播放| 无码精品国产VA在线观看DVD| 91福利片| 色一情一乱一伦一区二区三区小说 | 亚洲综合片| 任我操在线视频| 欧美v在线| 亚洲最大福利网站| 久爱午夜精品免费视频| 国产精品亚洲а∨天堂免下载| 亚洲一区二区视频在线观看| 日韩区欧美区| 日韩不卡免费视频| 波多野结衣一区二区三区88| 国产日韩av在线播放| 玖玖精品在线| 免费高清毛片| 免费国产高清视频| 天天色综网| 国产真实乱人视频| 久久精品无码一区二区国产区| 91精品国产91欠久久久久| 日本道中文字幕久久一区| 美女视频黄频a免费高清不卡| 一本综合久久| 一本大道香蕉久中文在线播放| 欧美亚洲中文精品三区| 亚洲视频无码| 青青青国产视频| 五月婷婷精品| 69视频国产| 久久亚洲欧美综合| 亚洲第一精品福利| 日韩精品亚洲一区中文字幕| 国产主播在线一区| 欧美日韩成人在线观看| 99在线观看国产| 国产无码制服丝袜| 青青热久免费精品视频6| 亚洲精品综合一二三区在线| 狼友av永久网站免费观看| 成人在线天堂| 久久香蕉国产线看观看精品蕉| 最新精品久久精品| 亚欧成人无码AV在线播放| 爽爽影院十八禁在线观看| 亚洲精品你懂的| 亚洲成人播放| 理论片一区| 欧美精品高清| 人妻丰满熟妇av五码区| 日韩免费毛片视频| 日本在线欧美在线| 国产色爱av资源综合区| 伊人色婷婷| 在线免费a视频| 青青青国产视频| 三上悠亚一区二区| 亚洲 日韩 激情 无码 中出| 久久人午夜亚洲精品无码区| 亚洲中文在线视频|