[摘 要]即時(shí)通信能夠即時(shí)發(fā)送和接收互聯(lián)網(wǎng)消息,而TCP提供的是面向連接,可靠的數(shù)據(jù)傳輸服務(wù)。基于TCP的即時(shí)通信利用SOCKET套接字進(jìn)行數(shù)據(jù)通訊,程序分為服務(wù)器端和客戶端兩部分。本文介紹了課題的設(shè)計(jì)背景、TCP協(xié)議和SOCKET的工作原理等,著重分析設(shè)計(jì)說明了基于TCP的即時(shí)通信程序的總體設(shè)計(jì)架構(gòu)、各模塊設(shè)計(jì)與實(shí)現(xiàn)過程,對程序中用到的主要的類及數(shù)據(jù)結(jié)構(gòu)進(jìn)行了詳細(xì)深入的描述。并對設(shè)計(jì)中涉及到的主要函數(shù)的代碼實(shí)現(xiàn)及程序的調(diào)試與測試過程做了詳細(xì)的分析和介紹。通過本文的闡述,能夠讓我們對基于TCP協(xié)議的即時(shí)通信程序的工作原理和設(shè)計(jì)與實(shí)現(xiàn)過程有更充分的認(rèn)知。
[關(guān)鍵詞]即時(shí)通信 TCP協(xié)議
伴隨著互聯(lián)網(wǎng)的快速發(fā)展,人類社會(huì)步入了信息化、網(wǎng)絡(luò)化時(shí)代。在信息社會(huì),互聯(lián)網(wǎng)為人們提供了巨大的便利,通過互聯(lián)網(wǎng)人們可以方便的進(jìn)行資源共享和隨時(shí)、隨地、隨心的進(jìn)行相互通信。即時(shí)通訊是互聯(lián)網(wǎng)上最快、最便捷的信息傳遞方式,通過即時(shí)通訊人們可以打破地界的限制,隨意溝通交流,而且最重要的是大量節(jié)約了成本。
21世紀(jì)的今天,人們的生活已經(jīng)發(fā)生了翻天覆地的變化,互聯(lián)網(wǎng)這個(gè)曾經(jīng)的新興事物也以它的方便快捷走進(jìn)了千家萬戶。隨著網(wǎng)絡(luò)持續(xù)快速增長,網(wǎng)絡(luò)規(guī)模迅速擴(kuò)大,網(wǎng)絡(luò)技術(shù)不斷推陳出新,各種網(wǎng)絡(luò)功能也日趨豐富。電子政務(wù)、遠(yuǎn)程教育、遠(yuǎn)程醫(yī)療、電子商務(wù)、移動(dòng)信息、在線數(shù)字內(nèi)容等網(wǎng)上各類功能日新月異,信息交流更加便捷高效??梢哉f,人們的工作、學(xué)習(xí)、生活都已經(jīng)離不開互聯(lián)網(wǎng)了。而互聯(lián)網(wǎng)在促進(jìn)經(jīng)濟(jì)發(fā)展、推動(dòng)社會(huì)進(jìn)步和提高人民生活質(zhì)量方面也發(fā)揮著越來越重要的作用?;ヂ?lián)網(wǎng)是人類社會(huì)有史以來第一個(gè)世界性的圖書館和第一個(gè)全球性論壇。任何人,無論來自世界的任何地方,在任何時(shí)候,他(她)都可以參加,互聯(lián)網(wǎng)永遠(yuǎn)不會(huì)關(guān)閉。而且,無論你是誰,你永遠(yuǎn)是受歡迎的。你不會(huì)由于不同的膚色、不同的穿戴、不同的宗教信仰而被排擠在外。在當(dāng)今的世界里,唯一沒有國界、沒有歧視、沒有政治的生活屬于互聯(lián)網(wǎng)。通過網(wǎng)絡(luò)信息的傳播,全世界任何人,不分國籍、種族、性別、年齡、貧富,互相傳送經(jīng)驗(yàn)與知識(shí),發(fā)表意見和見解。
即時(shí)通信(IM)是指能夠即時(shí)發(fā)送和接收互聯(lián)網(wǎng)消息等的業(yè)務(wù)。即時(shí)通信作為中國互聯(lián)網(wǎng)市場已經(jīng)成為最普及的應(yīng)用之一,即時(shí)通信的未來技術(shù)發(fā)展和應(yīng)用創(chuàng)新將受到眾多新技術(shù)趨勢的影響,呈現(xiàn)越來越動(dòng)態(tài)的變化,即時(shí)通信和社會(huì)化網(wǎng)絡(luò)、統(tǒng)一通信、在線協(xié)同三大技術(shù)熱點(diǎn)的關(guān)系將越來越密切,已經(jīng)構(gòu)成重要的融合發(fā)展的趨勢。
(1)社會(huì)化網(wǎng)絡(luò)——社會(huì)化網(wǎng)絡(luò)快速發(fā)展和即時(shí)通信的普及相互影響,即時(shí)通信在中國成為社會(huì)化網(wǎng)絡(luò)的重要入口。例如,騰訊,在基于即時(shí)通信的基礎(chǔ)上,構(gòu)建了活躍用戶規(guī)模過億的大型社區(qū)。
(2)統(tǒng)一通信——即時(shí)通信越來越具備成為統(tǒng)一通信關(guān)鍵元素的特質(zhì)。統(tǒng)一通信建立統(tǒng)一的客戶界面和基礎(chǔ)平臺(tái)的理念在企業(yè)廣受歡迎,成為電信市場發(fā)展的大勢所趨。如果希望部署用戶體驗(yàn)良好的統(tǒng)一通信平臺(tái),就必須重視提供靈活的即時(shí)通信功能。
(3)在線協(xié)同——在線協(xié)同也將吸收更多的即時(shí)通信發(fā)展的理念,呈現(xiàn)動(dòng)態(tài)的變化。今天的在線協(xié)同更加重視來自于每一個(gè)用戶的參與程度,如何讓員工和客戶通過合適的在線協(xié)同工具表達(dá)自己的意見和想法越來越重要。
目前比較流行的即時(shí)通信軟件多數(shù)先天 “不足”,比如QQ、飛鴿等都是基于UDP協(xié)議的即時(shí)通信軟件,而UDP屬于“面向無連接,不可靠傳輸”,由于UDP在傳送數(shù)據(jù)過程中沒有建立連接,因此它只負(fù)責(zé)接收和傳送由上層協(xié)議傳遞的信息,本身不做任何的檢查、修改與應(yīng)答,也因?yàn)樗牟豢煽啃?,使得它不能保證數(shù)據(jù)報(bào)能安全無誤地到達(dá)目的地。這樣用戶在使用這些即時(shí)通信軟件時(shí)就容易出現(xiàn)不知情的突然中斷以及信息丟失等現(xiàn)象,給用戶帶來不必要的麻煩和困擾。本課題的設(shè)計(jì)實(shí)現(xiàn)就是基于這種情況,針對目前基于UDP的即時(shí)通信軟件的先天不可靠性,設(shè)計(jì)了一種基于TCP協(xié)議的即時(shí)通信軟件,由于TCP協(xié)議在網(wǎng)絡(luò)通信傳輸機(jī)制中屬于“面向連接,可靠傳輸”的類型,面向連接的傳輸意味著在進(jìn)行通信以前,需要在兩個(gè)系統(tǒng)之間建立邏輯連接,在每個(gè)數(shù)據(jù)傳輸?shù)倪^程中都需要進(jìn)行應(yīng)答以保證數(shù)據(jù)包的完整。
基于局域網(wǎng)的即時(shí)通信工具,如今一般采用UDP或者 TCP協(xié)議體系來實(shí)現(xiàn),開發(fā)技術(shù)已經(jīng)比較成熟,通過這些開發(fā)的產(chǎn)品工具統(tǒng)統(tǒng)都實(shí)現(xiàn)了廣域網(wǎng)上的即時(shí)通信這些軟件,在使用方面各有特色,在實(shí)現(xiàn)方面也各有所長。即時(shí)通信的功能日益豐富,逐漸集成了電子郵件、博客、音樂、電視、游戲和搜索等多種功能。即時(shí)通信不再是一個(gè)單純的聊天工具,它已經(jīng)發(fā)展成集交流、資訊、娛樂、搜索、電子商務(wù)、辦公協(xié)作和企業(yè)客戶服務(wù)等為一體的綜合化信息平臺(tái)。
參考文獻(xiàn):
[1] Douglas E.Comer ,《用TCP/IP進(jìn)行網(wǎng)際互聯(lián)(第四版)》 機(jī)械工業(yè)出版社,2001
[2]Ray Horak著,徐勇等譯,通信系統(tǒng)與網(wǎng)絡(luò),電子工業(yè)出版社,2001年3月
[3]馬博. 即時(shí)通信市場:“運(yùn)營商系”挑戰(zhàn)“互聯(lián)網(wǎng)系”. 中國電子報(bào) , 2008
[4]宋國龍,淺談即時(shí)通訊軟件的開發(fā)技術(shù) [J],山西電子技術(shù),2003年02期
[5]王晉海,即時(shí)通信系統(tǒng)的研究與實(shí)現(xiàn) [D],暨南大學(xué),2004年
[6]馬丹,即時(shí)通信系統(tǒng)終端的設(shè)計(jì)與實(shí)現(xiàn) [D],電子科技大學(xué),2005年