windows下tcp通訊,多個客戶端連線伺服器端。
一、伺服器端流程實現如下:
1、通過socket函式,建立基於流式型別的socket,可名為serversocket;
2、呼叫bind函式,繫結本地的監聽埠號和本地ip位址;
3、呼叫listen函式,開始監聽客戶端請求。其中該函式第二個引數指定了最大連線客戶端數目;
4、通過呼叫afxbeginthread(threadfun, 0),實現建立執行緒處理監聽後客戶端請求;
5、關閉serversocket;
如上流程中,通過建立執行緒辦法實現對客戶端請求的處理。
執行緒處理函式threadfun的實現流程如下:
1)呼叫accept等待客戶端請求,並返回客戶端通訊的socket,可名為clientsocket;
2)客戶端請求接收成功後,繼續呼叫afxbeginthread(threadfun, 0)建立執行緒,實現對其他客戶端請求做處理;
3)呼叫recv接收資料;
4)檢測接收到資料的合法性,並呼叫send函式返回響應資料;
5)呼叫closesocket(clientsocket),關閉得到到客戶端請求的socket。
二、客戶端實現流程
通常流程沒有加入超時處理,如下通過其他機制實現了客戶端接收訊息響應超時的處理。
實現流程如下:
1、建立socket基於流式socket型別的socket。
2、呼叫connect連線伺服器
3、呼叫send傳送請求資料;
4、通過select函式判斷socket接收資料是否超時。其中需要使用到fd_set和time_val型別。
5、呼叫closesocket關閉客戶端socket。
TCP通訊,多客戶端通訊(客戶端 服務端)
客戶端和伺服器間的交流,客戶端傳送資訊,伺服器接收到,並返回資訊 長連線建立socket連線服務端 指定ip位址,埠號 通過ip位址找對應的伺服器 呼叫socket的getinputstream 和getoutputstream 方法獲取和服務端相連的io流 輸入流可以讀取服務端輸出流寫出的資料 輸...
TCP通訊 多客戶端連線乙個伺服器端總結
windows下tcp通訊,多個客戶端連線伺服器端。1 通過socket函式,建立基於流式型別的socket,可名為serversocket 2 呼叫bind函式,繫結本地的監聽埠號和本地ip位址 3 呼叫listen函式,開始監聽客戶端請求。其中該函式第二個引數指定了最大連線客戶端數目 4 通過呼...
TCP連線實現 客戶端 服務端 通訊
客戶端 client.c include include include include include include include include define max buf 512 int main int argc,char argv 設定伺服器位址結構體 bzero server ad...