[源碼和文檔分享]基于TCP SOCKET實(shí)現(xiàn)的遠(yuǎn)程聊天系統(tǒng)

一、實(shí)驗(yàn)?zāi)康?/p>

本次實(shí)驗(yàn)需要完成一個(gè)實(shí)時(shí)聊天系統(tǒng)。該系統(tǒng)由聊天客戶端和聊天服務(wù)器組成??蛻舳思纯梢越o指定客戶端發(fā)送信息,也可以把消息廣播給所有客戶端。通過(guò)這個(gè)實(shí)驗(yàn),使得學(xué)生掌握socket API編程。

二、實(shí)驗(yàn)內(nèi)容

該章節(jié)將會(huì)詳細(xì)的列出服務(wù)器和客戶端的功能要求。

2.1 服務(wù)器的功能

服務(wù)器能夠并行處理客戶端發(fā)送過(guò)來(lái)的消息或者命令

服務(wù)器把從新連接的客戶端中收到的第一條消息作為該客戶端的用戶名稱

服務(wù)器能夠處理從客戶端發(fā)送過(guò)來(lái)的兩種類型的信息:

廣播信息,服務(wù)器收到信息后將其廣播給其他客戶端

點(diǎn)對(duì)點(diǎn)信息,服務(wù)器將消息轉(zhuǎn)發(fā)給指定客戶端

服務(wù)器需要把某個(gè)客戶端發(fā)送的廣播聊天信息,廣播給和該客戶端在同一個(gè)頻道的所有客戶端(但是不包括該用戶端自己)這個(gè)廣播消息的格式應(yīng)為[<name>]:<message>。其中<name>為發(fā)送聊天信息的客戶端名稱,<message>為該客戶端發(fā)送的消息

當(dāng)某個(gè)客戶端離線時(shí),服務(wù)器需要廣播一個(gè)離線消息給所有的客戶端

容錯(cuò)處理。當(dāng)客戶端發(fā)送的數(shù)據(jù)和規(guī)定的格式不一致時(shí),服務(wù)器能夠處理這個(gè)錯(cuò)誤并且返回錯(cuò)誤信息

2.2 客戶端的功能

從服務(wù)器返回的消息需要顯示在控制臺(tái)下,并且需要去除末尾多余的空格

為了區(qū)別于其他人發(fā)送的消息,客戶端自己發(fā)送的消息,需要在控制臺(tái)中以“[me]:”顯示

三、操作環(huán)境

操作系統(tǒng):Mac OS

編寫語(yǔ)言:Java

編譯軟件:Eclipse

參考文檔和完整的文檔和源碼下載地址:

https://www.write-bug.com/article/1429.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容