任 琴,孔令慧,秦 冰
(陸軍工程大學 軍械士官學校,湖北 武漢 430075)
本聊天室的開發(fā)是在JAVA的平臺上實現(xiàn)的,Java語言是一種適用于網絡編程的語言,它的基本結構與C++極為相似,但卻簡單得多。它集成了其它一些語言的特點和優(yōu)勢,又避開了它們的不足之處。本次系統(tǒng)開發(fā)選用的操作系統(tǒng)是Windows XP;開發(fā)工具為MyEclipse 7.0+命令窗口;語言程序主要是JAVA語言;Java版本為Java jdk1.6集合jre6。
在Internet上的聊天程序一般都是以服務器提供服務端連接響應,使用者通過客戶端程序登錄到服務器,就可以與登錄在同一服務器上的用戶交談,這是一個面向連接的通信過程。因此,程序要在TCP/IP環(huán)境下,實現(xiàn)服務器端和客戶端兩部分程序,服務器端和客戶端通訊流程如1所示,工作原理如圖2所示。
圖1 通信流程
(1)服務器端工作流程:服務器端通過socket()系統(tǒng)調用創(chuàng)建一個Socket數(shù)組后(即設定了接受連接客戶的最大數(shù)目),與指定的本地端口綁定bind(),就可以在端口進行偵聽listen()。如果有客戶端連接請求,則在數(shù)組中選擇一個空Socket,將客戶端地址賦給這個Socket。然后登錄成功的客戶就可以在服務器上聊天了。
(2)客戶端工作流程:客戶端程序相對簡單,只需要建立一個Socket與服務器端連接,成功后通過這個Socket來發(fā)送和接收數(shù)據就可以了。
圖2 客戶端與服務器端的工作原理流程
(3)聊天室的功能簡介。①客戶端功能:a.登錄;b.注冊;c.公共聊天;d.悄悄話;②服務器端功能:a.監(jiān)聽;b.踢人;c.幫助;d.開啟/關閉服務器。
該聊天系統(tǒng)利用基于TCP協(xié)議的Socket和多線程技術能夠很好地實現(xiàn)基本功能,它采用了典型的C/S架構,系統(tǒng)著重研究并實現(xiàn)了網絡應用的部分。根據實現(xiàn)的情況看,基本滿足了結構化、界面友好、速度快、安全性以及穩(wěn)定性等特點,其功能也符合用戶基本需求,具有較友好的聊天界面生成效果,以及流暢的網絡通信效果。
目前本聊天系統(tǒng)還有待完善的功能如下:①沒有實現(xiàn)文件傳輸?shù)墓δ?,這個對于人們越來越高的需求方面還是一個缺陷。②注冊界面相對比較單一,不夠詳細,不能選擇頭像、注冊性別、個性簽名等等。③聊天內容不能保存,退出聊天室之后就找不到之前的聊天內容,如果在聊天過程中有比較重要的內容需要更慎重的記錄。④不能像QQ那樣發(fā)送圖片表情,而且隨意添加在聊天內容的任何位置。