前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇即時(shí)通信范文,相信會(huì)為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
1即時(shí)通信系統(tǒng)分析
即時(shí)通信即可以實(shí)現(xiàn)即時(shí)發(fā)送與接受互聯(lián)網(wǎng)信息的業(yè)務(wù),現(xiàn)在所用即時(shí)通信系統(tǒng)具有電子郵件、音樂、博客、電視以及搜索等功能[1]。在計(jì)算機(jī)通信技術(shù)不斷發(fā)展的背景下,即時(shí)通信系統(tǒng)以及發(fā)展成集交流、搜索、咨詢、娛樂、電子商務(wù)以及辦公寫作等客戶為一體的綜合化信息平臺(tái),如現(xiàn)在常用的騰訊、微軟、Yahoo等通信供應(yīng)商,均可以提供利用手機(jī)等終端接入互聯(lián)網(wǎng)的即時(shí)通信業(yè)務(wù),這樣用戶就可以利用手機(jī)終端,以及安裝響應(yīng)客戶端軟件手機(jī)或電腦來收發(fā)消息。以企業(yè)級(jí)用戶來說,即時(shí)通信系統(tǒng)在應(yīng)用時(shí)為公開狀態(tài),即用戶只需要知道另一個(gè)用戶即時(shí)通信地址,就可以完成信息的傳輸,并不利于管理工作的展開。并且即時(shí)通信系統(tǒng)需要在兩臺(tái)終端之間進(jìn)行信息交流,并不需要任何第三方服務(wù)器中轉(zhuǎn),同時(shí)也增大了用戶信息交換的監(jiān)控難度,是企業(yè)級(jí)用戶需要重點(diǎn)研究解決的問題。
2即時(shí)通信系統(tǒng)通信方式分析
即時(shí)通信系統(tǒng)常用通信方式有兩種,即點(diǎn)對(duì)點(diǎn)直接傳送模式(P2P模式)與客戶機(jī)/服務(wù)器傳送模式(C/S模式)。如果在設(shè)計(jì)時(shí)選擇用C/S模式,則終端傳輸?shù)臄?shù)據(jù)通過服務(wù)器來進(jìn)行監(jiān)聽,在即時(shí)通信客戶端啟動(dòng)后,會(huì)采取主動(dòng)的方式與服務(wù)器監(jiān)聽端口連接,然后由服務(wù)器派生新工作線程對(duì)一個(gè)客戶端所有網(wǎng)絡(luò)請(qǐng)求進(jìn)行處理與回應(yīng)。在兩臺(tái)終端請(qǐng)求通信時(shí),就可以通過已經(jīng)與服務(wù)器建立起的連接,由服務(wù)器作為中轉(zhuǎn)部分,將發(fā)送方的網(wǎng)絡(luò)數(shù)據(jù)包傳輸給接受方。其中,服務(wù)器一般會(huì)設(shè)置在公網(wǎng)內(nèi),具有獨(dú)立的IP地址,這樣就決定了無論即時(shí)通信終端是否在內(nèi)網(wǎng)內(nèi)均可以與其相互連接,這樣與服務(wù)器通信以及與其他終端通信均可以利用已經(jīng)建立的連接來完成。
如果在設(shè)計(jì)時(shí)選擇用P2P傳送模式,與C/S模式不同,其可以直接實(shí)現(xiàn)不同終端之間信息的傳輸,取消了服務(wù)器的中轉(zhuǎn)作用,可以有效降低服務(wù)器的負(fù)載問題。另外,如果即時(shí)通信雙方終端有任何一方在內(nèi)網(wǎng)中,通信的過程就會(huì)受防火墻的保護(hù),以及NAT的控制,經(jīng)常會(huì)因?yàn)榘l(fā)送方傳輸?shù)木W(wǎng)絡(luò)數(shù)據(jù)包無法找到對(duì)方地質(zhì)而發(fā)送失敗,存在NAT穿越問題,是系統(tǒng)設(shè)計(jì)需要解決完善的問題。
3基于XMPP即時(shí)通信系統(tǒng)設(shè)計(jì)措施
3.1系統(tǒng)結(jié)構(gòu)
以企業(yè)級(jí)用戶為服務(wù)對(duì)象,在對(duì)即時(shí)通信系統(tǒng)進(jìn)行設(shè)計(jì)時(shí),需要基于實(shí)際工作對(duì)基礎(chǔ)功能的需求,即內(nèi)部實(shí)施信息交互、企業(yè)短信中心、語音視頻交流以及自動(dòng)存檔等,確保設(shè)計(jì)后具有較高的實(shí)用性、管理性與便利性。一般系統(tǒng)結(jié)構(gòu)中會(huì)設(shè)置多組服務(wù)器,核心為企業(yè)數(shù)據(jù)庫服務(wù)器與組群服務(wù)器,另外還有多組會(huì)話服務(wù)器、認(rèn)證服務(wù)器以及多組文件服務(wù)器等。其中,群組服務(wù)器通過TCP連接實(shí)現(xiàn)與即時(shí)通信終端的銜接,實(shí)現(xiàn)文件傳輸功能,并數(shù)據(jù)庫利用UDP連接來完成所有數(shù)據(jù)的存儲(chǔ)。同時(shí),通過應(yīng)用服務(wù)器,能夠?qū)崿F(xiàn)EIM的所有功能,如內(nèi)外部信息交流,并對(duì)信息進(jìn)行備份[2]。一般企業(yè)內(nèi)部均會(huì)有自己EIM服務(wù)器,并通過交換機(jī)、路由器、防火墻等與外網(wǎng)安全連接,滿足移動(dòng)用戶應(yīng)用需求。設(shè)計(jì)時(shí)需要設(shè)置XMPP客戶端與XMPP服務(wù)器,實(shí)現(xiàn)內(nèi)部以及私有即時(shí)通信;XMPP服務(wù)器與XMPP服務(wù)器,實(shí)現(xiàn)與不在同一服務(wù)器其他企業(yè)的即時(shí)通信;XMPP服務(wù)器與其他非XMPP系統(tǒng),可以實(shí)現(xiàn)與QQ、MSN服務(wù)網(wǎng)絡(luò)的通信。
3.2流程控制
XMPP服務(wù)器利用5222端口上TCP套接字連接,與終端用戶進(jìn)行即時(shí)通信。如果不存在用戶會(huì)話進(jìn)程,則需要初始化一個(gè)用戶登錄認(rèn)證過程;如果存在用戶對(duì)話,則消息被直接發(fā)送到XMPP會(huì)話管理組件。會(huì)話管理組件將在服務(wù)器配置文件中來尋找目的服務(wù)器的域名,一般情況服務(wù)器配置文件中會(huì)對(duì)域名解析內(nèi)容進(jìn)行記錄,這樣尋找過程比較簡單。對(duì)于部分不存在記錄的情況,DNS解析組件則將域名解析為IP地址與端口,最后將網(wǎng)絡(luò)信息包傳輸?shù)椒?wù)器對(duì)服務(wù)器組件,被順利發(fā)送到目的服務(wù)器或者Transport。
3.3服務(wù)器端
遵循簡單易懂以及易擴(kuò)展的原則進(jìn)行設(shè)計(jì),以核心協(xié)議為依據(jù),通過設(shè)計(jì)來實(shí)現(xiàn)接受并管理客戶連接、解析XML數(shù)據(jù)流以及處理XML數(shù)據(jù)流等基礎(chǔ)功能[3]。主要包括會(huì)話池、XML解析器、數(shù)據(jù)段隊(duì)列、數(shù)據(jù)段處理器、Messaging模塊、GroupChat模塊、Roster模塊、Presence模塊以及Public IM Gateways等,不同模塊所負(fù)責(zé)的內(nèi)容不同。如會(huì)話池主要負(fù)責(zé)管理客戶機(jī)與服務(wù)之間對(duì)話內(nèi)容,包括連接地址信息、管理連接等;數(shù)據(jù)段隊(duì)列主要存儲(chǔ)與取出XML數(shù)據(jù)段;數(shù)據(jù)段處理器主要對(duì)流入數(shù)據(jù)段進(jìn)項(xiàng)處理,包括目標(biāo)尋址、信息傳遞以及回應(yīng)信息生成;Presence模塊主要責(zé)任處理用戶在線信息。
即時(shí)通信安全狀況令人擔(dān)憂,瑞星&searchtype=1‘ target=_blank>瑞星、金山、江民等國內(nèi)著名安全軟件廠商也時(shí)刻關(guān)注即時(shí)通信的安全狀況,在其官方網(wǎng)站上都會(huì)發(fā)出病毒警報(bào)并提出相應(yīng)解決辦法。針對(duì)即時(shí)通信安全防護(hù)的產(chǎn)品更是名目繁多。
瑞星這幾年一直致力于防黑技術(shù)、網(wǎng)絡(luò)游戲防盜技術(shù)、即時(shí)通信安全保護(hù)技術(shù)等。年初,瑞星公司和即時(shí)通信軟件提供商騰訊公司宣布達(dá)成戰(zhàn)略合作伙伴關(guān)系,雙方將展開多項(xiàng)深度技術(shù)合作,致力于為用戶提供一個(gè)更加安全的網(wǎng)上交流環(huán)境的基礎(chǔ),同時(shí)進(jìn)行多種商務(wù)合作。瑞星公司市場部郝婷在接受記者采訪時(shí)表示,即時(shí)通信安全防御一直是瑞星在產(chǎn)品研發(fā)和業(yè)務(wù)推廣中重要的組成部分,為QQ、MSN等聊天工具防御病毒推出的幾款新產(chǎn)品如瑞星QQ病毒專殺工具V3.4,其市場反應(yīng)都很好。瑞星還為用戶提供了免費(fèi)的“在線查毒”和收費(fèi)的“在線殺毒”服務(wù)。這符合了瑞星一直強(qiáng)調(diào)的“整體防御、立體防毒”的初衷。
江民不久前推出的首款系統(tǒng)級(jí)殺毒軟件KV2005新增“即時(shí)通信監(jiān)視”功能,可以實(shí)時(shí)過濾從MSN、QQ等所有即時(shí)通信發(fā)送的文件病毒,可確保用戶實(shí)現(xiàn)無毒聊天。
針對(duì)“QQ尾巴”、“QQ木馬”等病毒,金山公司也推出了金山QQ病毒專殺工具。為了給廣大用戶提供方便,金山公司整理十大最熱門病毒專殺工具:JPEG惡意代碼圖片病毒、網(wǎng)銀大盜、震蕩波、沖擊波、QQ病毒等專殺工具及工具說明,用戶可打包下載。
另外,賽門鐵克為有效防止黑客和病毒通過IM工具對(duì)用戶電腦進(jìn)行攻擊,推出了硬件防火墻VelociRaptor即是這種集成的防病毒/防火墻解決方案。國內(nèi)共享軟件作者喃哥開發(fā)的一款專門查殺騰訊QQ自動(dòng)發(fā)消息病毒、木馬及反黃的軟件——QQ病毒專殺工具XP 鉆石版 Build 1012QQKav。
縱觀國內(nèi)即時(shí)通信安全市場,各種防毒、殺毒軟件名目繁多,令人眼花繚亂。那么即時(shí)通信安全狀況是否就能令人安枕無憂了呢?
從近年即時(shí)通信的安全狀況來看,雖然安全軟件廠商的技術(shù)和產(chǎn)品對(duì)即時(shí)通信安全防護(hù)起到了一定的作用,但有時(shí)候這些產(chǎn)品和技術(shù)對(duì)新病毒和一些黑客的襲擊還是束手無策。各種病毒花樣不斷翻新,黑客惡意攻擊更是到了有恃無恐的地步。由于安全軟件防護(hù)無力致使用戶遭受了很大的損失。同時(shí),一些廠商并非專門針對(duì)即時(shí)通信的安全防護(hù)開發(fā)產(chǎn)品和研發(fā)新技術(shù),只是為了市場的需要而在產(chǎn)品中貼上一個(gè)標(biāo)簽而已,其產(chǎn)品并無實(shí)質(zhì)的防御作用。另外,安全軟件和防黑技術(shù)更新慢,往往是出現(xiàn)了一種新的病毒廠商才去著手開發(fā)新的產(chǎn)品。而如果技術(shù)含量不夠高的產(chǎn)品只能使防護(hù)工作永遠(yuǎn)處于被動(dòng)的地位。所以,安全軟件廠商在開發(fā)新產(chǎn)品和研發(fā)新技術(shù)時(shí)應(yīng)該具有前瞻性。
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,即時(shí)通信的安全防護(hù)更加嚴(yán)峻。誰將為即時(shí)通信的安全保駕護(hù)航?這需要即時(shí)通信服務(wù)商、安全軟件廠商和用戶共同努力。
首先,對(duì)于即時(shí)通信服務(wù)商來說,最重要的是提高即時(shí)通信軟件的安全性能,減少由于產(chǎn)品自身的設(shè)計(jì)缺陷而造成的安全隱患。即時(shí)通信軟件在技術(shù)手段沒有質(zhì)的飛躍的情況下,版本升級(jí)是一個(gè)必要的手段,特別是對(duì)企業(yè)用戶來說更加重要,即時(shí)通信服務(wù)商需要為企業(yè)搭建更為獨(dú)立、安全的系統(tǒng)平臺(tái),使內(nèi)網(wǎng)和外網(wǎng)之間的信息交換能得到更好的監(jiān)控。
其次,通過安全軟件提高防護(hù)能力也是一個(gè)很重要的環(huán)節(jié)。對(duì)于即時(shí)通信軟件,傳統(tǒng)的防火墻、反病毒軟件、內(nèi)容過濾軟件等在保障網(wǎng)絡(luò)安全方面的作用仍不可忽視。所以,廠商應(yīng)該在產(chǎn)品和技術(shù)上加大研發(fā)力度。
垃圾信息帶來最大困擾
艾瑞的2008年度《中國個(gè)人即時(shí)通信網(wǎng)絡(luò)安全研究報(bào)告》顯示,在當(dāng)前的Messenger的使用過程中,用戶受到垃圾信息和惡意網(wǎng)站的騷擾,用戶擔(dān)心個(gè)人隱私泄露,這些已經(jīng)成為新的安全保障的熱點(diǎn)。同時(shí),根據(jù)微軟MSN在線舉報(bào)騷擾網(wǎng)站(/report/)的調(diào)查,有近80%的用戶曾受到過惡意網(wǎng)站的騷擾,有近60%的用戶從未修改過自己的Messenger賬戶密碼,還有接近50%的用戶曾在第三方網(wǎng)站輸入過自己的Messenger用戶名和密碼。
艾瑞咨詢還在2008年11~12月在84家網(wǎng)站對(duì)2008年IM用戶經(jīng)常遇到的安全問題進(jìn)行了一次聯(lián)機(jī)調(diào)研,結(jié)果顯示:收到垃圾消息的用戶占76.4%,賬號(hào)被盜或丟失的用戶占50.4%,收到過病毒文件的用戶占44.7%,個(gè)人隱私遭到泄露的用戶占30.4%。
這一系列數(shù)據(jù)已經(jīng)顯示出IM的安全形勢依然嚴(yán)峻。對(duì)此,微軟MSN產(chǎn)品總監(jiān)陳嘉榕表示,MSN人際網(wǎng)絡(luò)已經(jīng)成為“非法獲利者”的香餑餑,一些社交網(wǎng)站通過獲取用戶的MSN好友關(guān)系推廣其網(wǎng)站。
Messenger保護(hù)盾產(chǎn)品經(jīng)理程明卿提醒說,用戶一定要養(yǎng)成良好的使用習(xí)慣,還要提高網(wǎng)絡(luò)安全的憂患意識(shí),千萬不要輕易地把自己的賬號(hào)和密碼交給第三方一個(gè)并不值得信任的小網(wǎng)站或者小軟件。如果一旦提交過去,對(duì)方會(huì)將好友列表導(dǎo)出,進(jìn)行群發(fā)信息和騷擾。
聯(lián)手排除惡意病毒
當(dāng)前,惡意程序研發(fā)“工藝”日新月異且已然產(chǎn)業(yè)化。對(duì)IM產(chǎn)業(yè)而言,安全的含量將成為主導(dǎo)業(yè)內(nèi)生存格局發(fā)展的因素。
為了維護(hù)個(gè)人用戶使用IM工具的安全環(huán)境,國內(nèi)主流IM運(yùn)營商積極構(gòu)建安全體系,加強(qiáng)安全領(lǐng)域的溝通合作,并得到了網(wǎng)民的認(rèn)可。繼2008年10月份推出MSN保護(hù)盾1.0后,微軟如今正式推出了Messenger保護(hù)盾2.0版本,增強(qiáng)加密聊天、多賬戶登錄、屏蔽騷擾網(wǎng)站鏈接等功能。
微軟MSN 副總裁劉振宇說,近年來病毒的發(fā)展趨勢主要是通過Internet傳播的網(wǎng)絡(luò)蠕蟲。IM自身具備完善的聯(lián)系人列表,為蠕蟲病毒傳播提供了很好的傳染目標(biāo)獲取機(jī)制。截至今年8月,超過800萬用戶安裝了保護(hù)盾1.0,每天掃描文件12萬個(gè),平均每天查殺162個(gè)病毒。
據(jù)悉,保護(hù)盾2.0版本還提供了便捷的修改Messenger賬戶密碼和舉報(bào)惡意網(wǎng)站的功能,并進(jìn)一步強(qiáng)化了Messenger傳輸文件病毒掃描和系統(tǒng)文件病毒掃描的安全保障功能。
【關(guān)鍵詞】:網(wǎng)絡(luò);即時(shí)通信;原理;實(shí)現(xiàn)
中圖分類號(hào):F250 文獻(xiàn)標(biāo)識(shí)碼: A
1、前言
網(wǎng)絡(luò)即時(shí)通信最初與軍事上的需求緊密相關(guān),然而隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展、網(wǎng)絡(luò)帶寬及處理能力的急劇增加,即時(shí)系統(tǒng)逐漸在民用領(lǐng)域也得到了廣泛的應(yīng)用,而且即時(shí)系統(tǒng)也由單機(jī)集中處理的系統(tǒng)發(fā)展為分布式即時(shí)系統(tǒng),使得許多分布式即時(shí)應(yīng)用得以實(shí)現(xiàn),所以對(duì)其進(jìn)行研究更具有很現(xiàn)實(shí)的意義,本文以下內(nèi)容將對(duì)網(wǎng)絡(luò)即時(shí)通信的原理和實(shí)現(xiàn)進(jìn)行分析和探討,以供參考。
2、網(wǎng)絡(luò)即時(shí)通信的原理
即時(shí)通信是一種基于網(wǎng)絡(luò)的通信技術(shù), 涉及到IP/TCP/UDP/Sockets、P2P、C/S、多媒體音視頻編解碼/傳送、Web Service等多種技術(shù)手段。無論即時(shí)通信系統(tǒng)的功能如何復(fù)雜,它們大都基于相同的技術(shù)原理,主要包括客戶/服務(wù)器(C/S)通信模式和對(duì)等通信(P2P)模式。
C/S結(jié)構(gòu)以數(shù)據(jù)庫服務(wù)為核心將連接在網(wǎng)絡(luò)中的多個(gè)計(jì)算機(jī)形成一個(gè)有機(jī)的整體,客戶機(jī)(Client)和服務(wù)器(Server)分別完成不同的功能。但在客戶/服務(wù)器結(jié)構(gòu)中,多個(gè)客戶機(jī)并行操作,存在更新丟失和多用戶控制問題。因此,在設(shè)計(jì)時(shí)要充分考慮信息處理的復(fù)雜程度來選擇合適的結(jié)構(gòu)。實(shí)際應(yīng)用中,可以采用三層C/S結(jié)構(gòu),三層C/S結(jié)構(gòu)與中間件模型非常相似,由基于工作站的客戶層、基于服務(wù)器的中間層和基于主機(jī)的數(shù)據(jù)層組成。在三層結(jié)構(gòu)中,客戶不產(chǎn)生數(shù)據(jù)庫查詢命令,它訪問服務(wù)器上的中間層,由中間層產(chǎn)生數(shù)據(jù)庫查詢命令。三層C/S結(jié)構(gòu)便于工作部署,客戶層主要處理交互界面,中間層表達(dá)事務(wù)邏輯,數(shù)據(jù)層負(fù)責(zé)管理數(shù)據(jù)源和可選的源數(shù)據(jù)轉(zhuǎn)換。
P2P模式是非中心結(jié)構(gòu)的對(duì)等通信模式,每一個(gè)客戶(Peer)都是平等的參與 者,承擔(dān)服務(wù)使用者和服務(wù)提供者兩個(gè)角色。客戶之間進(jìn)行直接通信,可充分利用網(wǎng)絡(luò)帶寬,減少網(wǎng)絡(luò)的擁塞狀況,使資源的利用率大大提高。同時(shí)由于沒有中央節(jié)點(diǎn)的集中控制,系統(tǒng)的伸縮性較強(qiáng),也能避免單點(diǎn)故障,提高系統(tǒng)的容錯(cuò)性
能。但由于P2P網(wǎng)絡(luò)的分散性、自治性、動(dòng)態(tài)性等特點(diǎn),造成了某些情況下客戶的訪問結(jié)果是不可預(yù)見的。例如,一個(gè)請(qǐng)求可能得不到任何應(yīng)答消息的反饋。當(dāng)前使用的IM系統(tǒng)大都組合使用了C/S和P2P模式。在登錄IM進(jìn)行身份認(rèn)證階段是工作在C/S方式,隨后如果客戶端之間可以直接通信則使用P2P方式工作,否則以C/S方式通過IM服務(wù)器通信。
3、網(wǎng)絡(luò)即時(shí)通信概要設(shè)計(jì)
3.1,拓?fù)浣Y(jié)構(gòu)
TCP和UDP是TCP/IP協(xié)議的兩個(gè)主要傳輸協(xié)議,TCP是面向連接的,UDP是面向無連接的,而實(shí)際上他們最大的區(qū)別在于為應(yīng)用協(xié)議提供不同的服務(wù),TCP協(xié)議為應(yīng)用程序提供點(diǎn)到點(diǎn)的通信。
UDP為應(yīng)用程序提供多對(duì)多的通信,UDP在進(jìn)行通訊的應(yīng)用的數(shù)量上面,具有更大的靈活性,多個(gè)應(yīng)用可以向一個(gè)接收方發(fā)送報(bào)文,一個(gè)發(fā)送方向也可以向多個(gè)接收方發(fā)送報(bào)文。UDP還可以使用底層網(wǎng)絡(luò)的廣播和組播設(shè)施交付報(bào)文。
由于TCP和UDP得語義不同,如果要考慮應(yīng)用協(xié)議所要求的語義,設(shè)計(jì)者就不能不再面向連接和無連接的傳輸協(xié)議間作出選擇,利用面向連接的TCP協(xié)議,可以大大簡化應(yīng)用協(xié)議的設(shè)計(jì)工作。由于UDP不提供可靠的交付,無連接傳輸要求應(yīng)用協(xié)議提供可靠性,并在必要時(shí),使用一種稱為自適應(yīng)重傳的復(fù)雜技術(shù)。
3.2,功能設(shè)計(jì)
用戶注冊(cè)模塊:用戶需要正確填寫自己的用戶名、密碼、真實(shí)姓名、性別、個(gè)性簽名等信息,如果用戶名合法且未被占用,則可以注冊(cè)成功。
用戶登錄模塊:用戶需要正確填寫自己的用戶名、密碼,如果驗(yàn)證成功,則可以進(jìn)入到JQQ即時(shí)通訊系統(tǒng)主面板,與在線好友進(jìn)行即時(shí)通信。
分組管理模塊:包括對(duì)分組的添加與刪除,添加分組過程中,分組不能為空并且不能有重復(fù)的分組,刪除分組過程中,只要選定要?jiǎng)h除的分組,即可刪除成功。
好友管理模塊:包括好友的添加與刪除,添加好友過程中,好友不能為空,不能加自己為好友,要添加的好友必須存在并且不能有重復(fù)的好友。刪除好友的過程中,只要選定所屬分組下的相應(yīng)好友,即可刪除成功。
查詢用戶模塊:列出了除了自己的所有用戶的基本相信包括是否在線,用戶可以根據(jù)需要加為好友并進(jìn)行通訊,對(duì)于在線狀態(tài)的好友可以進(jìn)行在線交流。
即時(shí)通信模塊:其是本系統(tǒng)最關(guān)鍵的環(huán)節(jié)與目的所在,用戶可以選擇分組中的在線好友進(jìn)行即時(shí)通信,并且當(dāng)交流完畢時(shí)自動(dòng)保存聊天記錄。
聊天記錄模塊:主要記錄了與相應(yīng)好友的所有聊天記錄,可以方便的瀏覽一些重要信息和談?wù)撛掝}等。
3.3,即時(shí)通信系統(tǒng)關(guān)系型數(shù)據(jù)庫的實(shí)現(xiàn)
Microsoft SQL Server 2008是一個(gè)高性能的客戶端/服務(wù)器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),SQL Server是為支持高容量的事務(wù)處理以及數(shù)據(jù)倉庫和決策支持系統(tǒng)而設(shè)計(jì)的,它運(yùn)行在Microsoft Windows NT4或Microsoft Windows 2000 Server上,基于使用Intel處理器的網(wǎng)絡(luò),也能夠?yàn)槠渌腗icrosoft操作系統(tǒng)提供很多客戶端工具和網(wǎng)絡(luò)接口。由于SQL Server的開放結(jié)構(gòu),其他系統(tǒng)也能和它交互操作。使用它可以完成事務(wù)處理、存儲(chǔ)和分析數(shù)據(jù)以及創(chuàng)建新的應(yīng)用程序。
4、結(jié)尾
本文以上內(nèi)容對(duì)網(wǎng)絡(luò)即時(shí)通信的原理和實(shí)現(xiàn)進(jìn)行了分析和探討,表達(dá)了觀點(diǎn)和見解,本人相信,隨著計(jì)算機(jī)技術(shù)的發(fā)展,網(wǎng)絡(luò)即時(shí)通信必將以更加先進(jìn)的形式出現(xiàn),而作為軟件從業(yè)人員,也只有不斷學(xué)習(xí)和實(shí)踐,才能為軟件工程發(fā)展做出更大的貢獻(xiàn)。
【參考文獻(xiàn)】
[1]《面向?qū)ο蟮腏AVA網(wǎng)絡(luò)編程》馮博等,清華大學(xué)出版社
關(guān)鍵詞:即時(shí)通訊; socket;TCP協(xié)議
一工具的選擇:VB .NET 是一個(gè)多語言的應(yīng)用程序開發(fā)執(zhí)行環(huán)境,也是Visual 中最關(guān)鍵的核心技術(shù)。它主要負(fù)責(zé)處理Web應(yīng)用程序在開發(fā)過程中關(guān)鍵繁雜的工作,提供了一個(gè)自動(dòng)進(jìn)行管理應(yīng)用程序的環(huán)境,提高了應(yīng)用程序的可靠性和安全性。它使用起來簡單快捷,并且易于開發(fā)、運(yùn)行和維護(hù),支持Web各種版本標(biāo)準(zhǔn)。具備面向?qū)ο蟮男绿匦裕⑶以诤艽蟪潭壬蠞M足了程序員的需求。同樣也具有類和名字空間、繼承、重載,它的類也具有構(gòu)造函數(shù)和析構(gòu)函數(shù)。此外還有多線程的實(shí)現(xiàn)方法。在之前,使用者想實(shí)現(xiàn)多線程功能必須要采用Win32 API進(jìn)行調(diào)用,但是這種方法不是很方便,容易出現(xiàn)各種不可預(yù)知的錯(cuò)誤。在中,.包含了System. Threading名字空間,它們專門負(fù)責(zé)實(shí)現(xiàn)多線程的功能,而且操作起來相當(dāng)簡單;
二協(xié)議的選擇與應(yīng)用:在實(shí)現(xiàn)客戶機(jī)和服務(wù)器之間的通信有采用TCP協(xié)議和采用UDP協(xié)議兩大種方式。
當(dāng)客戶和服務(wù)器使用UDP協(xié)議的時(shí)候,因?yàn)閁DP協(xié)議的下一個(gè)端口能對(duì)應(yīng)多個(gè)連接,因此只要知道另一方的IP地址和端口號(hào),并且對(duì)發(fā)的Winsock控件處在UDP協(xié)議的工作狀態(tài),就可以直接將數(shù)據(jù)發(fā)送過去。
這種方法存在明顯缺點(diǎn):無連接過程。也就沒有辦法進(jìn)行用戶的身份驗(yàn)證。也沒有統(tǒng)一對(duì)應(yīng)的服務(wù)器,因此管理起來比較困難,功能上也會(huì)收到許多限制。UDP協(xié)議自身沒有辦法克服的這些弱點(diǎn)。它不能保證數(shù)據(jù)的正確傳輸。
第二種方法是兩端都使用TCP協(xié)議,服務(wù)器端采用一個(gè)長期處在偵聽狀態(tài)的Winsock控件和一組負(fù)責(zé)用來連接客戶的Winsock控件數(shù)組。負(fù)責(zé)偵聽的Winsock的端口號(hào)必須是固定的,而連接客戶的Winsock的端口號(hào)需要設(shè)為0。這樣操作系統(tǒng)就會(huì)自動(dòng)去分配空閑的端口號(hào)給要進(jìn)行連接客戶的Winsock。但也存在缺陷,就是端口的分配不能人為控制,是由系統(tǒng)來指定。為了解決掉這個(gè)問題,實(shí)現(xiàn)人工指定服務(wù)器端使用的端口范圍。就采用服務(wù)器端按順序分配端口給連接客戶的Winsock。這些端口采用按順序分配的,從1024數(shù)字開始分配。當(dāng)用戶狀態(tài)是離線時(shí),程序回收掉這些端口號(hào),以轉(zhuǎn)給另一個(gè)連接的客戶的Winsock。通過對(duì)比選擇使用TCP協(xié)議來進(jìn)行通信。
三功能要求:
服務(wù)器端可以接收無數(shù)個(gè)客戶申請(qǐng)的連接。客戶發(fā)出連接請(qǐng)求后,對(duì)客戶信息進(jìn)行相應(yīng)的驗(yàn)證,通過驗(yàn)證的客戶信息加入服務(wù)器的列表。服務(wù)器端就記錄了客戶端的IP、上站的時(shí)間、下站的時(shí)間以及聊天記錄的信息;另外服務(wù)器還可以向所有客戶發(fā)送相應(yīng)信息,也可以把信息發(fā)送給某個(gè)制定的客戶。客戶端存有在線用戶的信息列表,可以發(fā)送數(shù)據(jù)信息給所有用戶或者過濾性的只發(fā)送給某個(gè)指定的客戶。
四調(diào)試方法:經(jīng)過需求分析、系統(tǒng)設(shè)計(jì)和編碼等不同階段的開發(fā)之后,就得到了軟件的源程序,開始進(jìn)入測試的環(huán)節(jié)。由于測試前的各環(huán)節(jié)中都可能存在軟件產(chǎn)品中遺留下的多種錯(cuò)誤和缺陷,如果不能及時(shí)找出這些錯(cuò)誤和缺陷,對(duì)它們進(jìn)行修改,這個(gè)軟件產(chǎn)品就不能夠正常的發(fā)揮作用,甚至?xí)霈F(xiàn)巨大的損失。程序的正確性證明還未得到根本性的解決,所以軟件測試是發(fā)現(xiàn)軟件中多種錯(cuò)誤和缺陷的主要手段。測試工作漫長而艱苦,由于軟件測試的復(fù)雜性強(qiáng),數(shù)據(jù)多;這里只采用運(yùn)行程序觀察結(jié)果,并利用數(shù)據(jù)函數(shù)來跟蹤程序的運(yùn)行,判斷對(duì)錯(cuò)。
五執(zhí)行與控制:程序的執(zhí)行控制提供了關(guān)于調(diào)試器命令相關(guān)的主題的鏈接,可以使用調(diào)試器的指令來控制應(yīng)用程序的執(zhí)行。通過這些命令能夠?qū)崿F(xiàn)下列操作:開始執(zhí)行、中斷執(zhí)行、停止執(zhí)行、逐句執(zhí)行等應(yīng)用程序、運(yùn)行到指定的位置以及預(yù)先設(shè)置執(zhí)行點(diǎn)。1開始執(zhí)行在“調(diào)試”菜單中選擇“啟動(dòng)”、“逐語句”或“逐過程”命令或者在源代碼窗口右擊并在快捷菜單中選擇“運(yùn)行到光標(biāo)處”命令,就可以開始調(diào)試。如果選擇的是“啟動(dòng)”,則應(yīng)用程序從開始啟動(dòng)并一直運(yùn)行到端點(diǎn)。這種方式可以在任何時(shí)刻中斷執(zhí)行,以檢查值、修改變量、或檢查程序狀態(tài)。如果選擇的是“逐語句”或“逐過程”,則應(yīng)用程序從開始啟動(dòng)并一直運(yùn)行到端點(diǎn)或光標(biāo)位置,具體決定于是端點(diǎn)在前還是光標(biāo)在前。我們可以在源代碼窗口中設(shè)置光標(biāo)位置。2設(shè)置執(zhí)行在調(diào)試器中,可以通過移動(dòng)執(zhí)行點(diǎn)以及設(shè)置要執(zhí)行的下一代碼語句(或匯編語言指令)源代碼窗口或“反匯編”窗口中空白區(qū)域的黃色箭頭標(biāo)記是執(zhí)行點(diǎn)的當(dāng)前位置。通過移動(dòng)執(zhí)行點(diǎn)可以跳過部分代碼或返回到以前執(zhí)行過的行,該功能在某些情況中很有用,例如,跳過包含已知錯(cuò)誤的代碼部分并繼續(xù)調(diào)試其他部分。
結(jié)束語:使用VB工具可以開發(fā)出方便快捷的即時(shí)通信軟件,可用性強(qiáng),在總體設(shè)計(jì)的模式上可以參考MSN等通信軟件的功能模型。系統(tǒng)具有一定的靈活性,有自身的特點(diǎn)和友好的工作界面。實(shí)現(xiàn)了開發(fā)目的。
參考文獻(xiàn):
[1] 戴建明.面向連接的SOCKET編程與通信軟件的設(shè)計(jì)[J].成都?xì)庀髮W(xué)院學(xué)報(bào),11(4):291-300.
[2] 蔣東興.Windows Sockets網(wǎng)絡(luò)程序設(shè)計(jì)大全[M].北京:清華大學(xué)出版社,1999:52-99.
[3] 程永喜,蔣珉.基于TCP/IP協(xié)議的WinSock網(wǎng)絡(luò)編程及應(yīng)用[J].計(jì)算機(jī)時(shí)代,2004,21(8).40-45
[4]唐永紅龔安;運(yùn)用Winsock控件實(shí)現(xiàn)C/S網(wǎng)絡(luò)通信[J];計(jì)算機(jī)系統(tǒng)應(yīng)用2006年04期