客戶端與伺服器之間的通訊

2021-08-30 17:59:11 字數 1022 閱讀 8944

今天我們來**一下通訊群聊的實現,就像平常我們玩的qq群聊功能一樣,有多個賬號發訊息能互相接收到,其實這個資料傳輸的過程是在客戶端和伺服器間實現的。所以我們要先建立乙個伺服器端口。

public class chatserver
在資料傳輸之前,客戶端和伺服器有三次握手。

1.客戶端告訴伺服器自己要建立連線了

2.伺服器告訴客戶端自己收到了建立連線的請求

3.客戶端告訴伺服器自己收到伺服器的回應

此時客戶端與伺服器便建立了連線。

這裡用到accept()方法

socket client = server.accept();// 讓伺服器處於等待狀態,等待客戶機的連線
建立連線之後我們要開始發訊息啦,大致過程就是伺服器從客戶端獲得輸入流,再將輸入流轉化成輸出流輸出給客戶端,所以我們要建立輸入流和輸出流,這個我們可以在乙個chatpross的方法中實現

public void chatprocess() throws ioexception
實現群聊,建立乙個佇列當乙個客戶機連線時則新增乙個執行緒物件於佇列中,再將每個客戶機說的話用傳送訊息的方法傳送即可

public class chattool  catch (ioexception e) 

stlist.add(st);

} public static void sendm(user user,string meg) throws ioexception

chattool.sendm(this.us, "我下線了,拜拜");

this.closeme();

}

public void sendmesg(string meg) throws ioexception
關閉連線的方法

private void closeme()  catch (ioexception e)

客戶端與伺服器端通訊

關係圖 傳送 邏輯管理器 處理邏輯傳送指令 指令解析管理器 根據協議xml解析指令成二進位制資料 把二進位制資料傳給伺服器 接收 伺服器傳送二進位制資料到客戶端 指令解析管理器 根據協議xml解析二進位制資料 根據解析資料對映到邏輯類來處理 2 1 3 20 2,2 21 1,1,2 指令名和指令名...

客戶端與伺服器程式通訊

一 通訊模型 目前主流的網路通訊模型有以下兩種 2 瀏覽器 伺服器結構 browser server,縮寫為b s,瘦客戶 典型的b s結構網路系統只要通過瀏覽器即可訪問,不需要在客戶端機安裝特定的軟體。二 通訊方式 1 tcp通訊 這種通訊方式是實現c s模式應用程式的主要方式。tcp是可靠的連線...

客戶端和伺服器之間通訊講解

原文 客戶端 能向伺服器傳送資訊,提出請求。伺服器 能接收客戶端發來的請求,並能傳送資料給客戶端以做出回應。從這裡可以看出,我們的電腦可以充當雙重角色。1 當我們用瀏覽器瀏覽網頁,要檢視某個檔案時,我們的電腦會發出請求給檔案伺服器,檔案伺服器收到請求並同意後,將檔案資料傳送到我們的電腦。此時,電腦充...