【正文】
tion. The latter make a connection with the server, carries on munication between the client side and the client side. With the LAN correspondence mechanism principle, through inheritting the Thread kind to establish the multithreading directly. In the development, it uses the elementary theory knowledge which the puter network programmes. for example, TCP/IP agreement, Client/Server pattern, network programming design method and so on. In the network programming, it realizes reading and transmission of the information, that is,informaton flows realize the information exchange, introduce information flow analysis for realizing a system, in which containes some basic software engineering methods. After analyzes these situations, this chating tool takes Eclipse as the basic development environment and piles in java language. first, it will establish the system application prototype in a short time. then, for the initial prototype system, it needs constantly revised and improved, until a viable system.Keywords: Instant Messaging System。 C/S 。Socket。 Swing。 開(kāi)發(fā)背景隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)聊天工具已經(jīng)作為一種重要的信息交流工具,受到越來(lái)越多的網(wǎng)民的青睞。目前,出現(xiàn)了很多非常不錯(cuò)的聊天工具,其中應(yīng)用比較廣泛的有Netmeeting、騰訊、MSNMessager等等。無(wú)論是個(gè)人還是企業(yè)等組織機(jī)構(gòu),對(duì)溝通的需求也在不斷發(fā)展,傳統(tǒng)的電話、傳真、郵件等溝通方式顯然已無(wú)法滿足當(dāng)今人們工作和生活溝通的需要。隨著軟件、網(wǎng)絡(luò)和通訊三大現(xiàn)代信息技術(shù)的發(fā)展,在溝通、協(xié)作方面有著更多方便、快捷、實(shí)時(shí)等優(yōu)勢(shì)的即時(shí)通訊,成為繼電話、EMail之后又一個(gè)完全融入每個(gè)人生活的互聯(lián)網(wǎng)工具。Java是一個(gè)由Sun公司開(kāi)發(fā)而成的新一代編程語(yǔ)言。使用它可在各式各樣不同種機(jī)器、不同種操作平臺(tái)的網(wǎng)絡(luò)環(huán)境中開(kāi)發(fā)軟件。不論你使用的是哪一種WWW瀏覽器,哪一種計(jì)算機(jī),哪一種操作系統(tǒng),只要WWW瀏覽器上面注明了“支持Java”,你就可以看到生動(dòng)的主頁(yè)。Java正在逐步成為Internet應(yīng)用的主要開(kāi)發(fā)語(yǔ)言。它徹底改變了應(yīng)用軟件的開(kāi)發(fā)模式,帶來(lái)了自PC機(jī)以來(lái)又一次技術(shù)革命,為迅速發(fā)展的信息世界增添了新的活力。 開(kāi)發(fā)目的和意義網(wǎng)絡(luò)通信在當(dāng)今信息社會(huì)中起著不可或缺的作用,人們可以利用網(wǎng)絡(luò)通信技術(shù)進(jìn)行即時(shí)的信息 交流。比如說(shuō)聊天工具,它就是利用網(wǎng)絡(luò)通信技術(shù)開(kāi)發(fā)的一款眾所周知的網(wǎng)絡(luò)聊天工具。通訊工具最初雖為聊天而誕生,但其作用早已超出了聊天的范疇,隨著企業(yè)即時(shí)通訊工具的出現(xiàn),即時(shí)信息在網(wǎng)絡(luò)營(yíng)銷中將發(fā)揮更大的作用。目前,信息交流是互聯(lián)網(wǎng)提供的主要內(nèi)容,網(wǎng)絡(luò)通信系統(tǒng)有多種實(shí)現(xiàn)方 式,類似ICQ屬于一種點(diǎn)對(duì)點(diǎn)的聊天系統(tǒng);還有一種是基于Socket的集中式聊天系統(tǒng),這種聊天系統(tǒng)需要登錄統(tǒng)一的聊天服務(wù)器。考慮到要可以在局域網(wǎng)中應(yīng)用,本系統(tǒng)使用的是第二種方法,經(jīng)過(guò)設(shè)置,在局域網(wǎng)或internet上都可以使用。 論文研究?jī)?nèi)容即時(shí)通訊原理 首先驗(yàn)證登陸,如果成功,則建立與服務(wù)端的socket連接,服務(wù)端新開(kāi)啟一個(gè)線程專門為它服務(wù),將打包好的Message發(fā)送給服務(wù)器端,服務(wù)器端根據(jù)Message里面的信息,再將信息轉(zhuǎn)發(fā)給其他用戶。一個(gè)標(biāo)準(zhǔn)的C/S模式。Swing技術(shù) Swing是一個(gè)用于開(kāi)發(fā)Java應(yīng)用程序用戶界面的開(kāi)發(fā)工具包。它以抽象窗口工具包(AWT)為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。用來(lái)實(shí)現(xiàn)客服端的界面設(shè)計(jì)。系統(tǒng)的構(gòu)建 客戶端采用C/S結(jié)構(gòu),以IO流的讀寫方式作為數(shù)據(jù)庫(kù)。使用戶信息以規(guī)定的格式在本地持久化存儲(chǔ)。 C/S開(kāi)發(fā)模式 C/S結(jié)構(gòu)的優(yōu)點(diǎn)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。缺點(diǎn)主要有以下幾個(gè): 而隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動(dòng)辦公和分布式辦公越來(lái)越普及,這需要我們的系統(tǒng)具有擴(kuò)展性。這種方式遠(yuǎn)程訪問(wèn)需要專門的技術(shù),同時(shí)要對(duì)系統(tǒng)進(jìn)行專門的設(shè)計(jì)來(lái)處理分布式的數(shù)據(jù)。 客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺(tái)電腦出問(wèn)題,如病毒、硬件損壞,都需要進(jìn)行安裝或維護(hù)。還有,系統(tǒng)軟件升級(jí)時(shí),每一臺(tái)客戶機(jī)需要重新安裝,其維護(hù)和升級(jí)成本非常高。(大多數(shù)沒(méi)法自動(dòng)升級(jí)而需要人工升級(jí)) 對(duì)客戶端的操作系統(tǒng)一般也會(huì)有限制??赡苓m應(yīng)于win7,但不能用于Windows 2000或Windows XP?;蛘卟贿m用于微軟新的操作系統(tǒng)等等,更不用說(shuō)Linux、Unix等。 即時(shí)通訊原理 登陸進(jìn)入聊天軟件后,即顯示出好友列表,在線的顯示亮頭像,不在線的顯示灰色頭像。雙擊好友頭像即會(huì)顯示出聊天界面。在聊天頁(yè)面上,有發(fā)送文字,發(fā)送截圖,和發(fā)送文件的功能按鈕。點(diǎn)擊“發(fā)送”按鈕之后,程序就會(huì)把輸入的信息的種類,信息內(nèi)容、本人的ID號(hào)、對(duì)方的ID號(hào)以及當(dāng)前的時(shí)間等內(nèi)容打包成一個(gè)Message對(duì)象通過(guò)Socket發(fā)送到服務(wù)器端。服務(wù)器接收到Message之后,按照協(xié)議進(jìn)行解析和轉(zhuǎn)發(fā)。這樣,雙方的即時(shí)通訊就實(shí)現(xiàn)了。 Socket通信技術(shù)Socket程序的工作過(guò)程:建立Socket連接:在通信開(kāi)始之前由通信