tcp伺服器搭建過程
A. TCP 的 Client/Server結構的連接建立過程 (附帶源碼)
傳輸層和應用層之間的數據交換稱為報文,而傳輸層與網路層交換的數據稱為數據報。傳輸層通過TCP協議封裝數據,TCP協議面向連接,提供位元組流傳送服務,是可靠的。
在面向連接的Client/Server結構中,伺服器啟動時創建套介面並綁定本地網路地址,然後進入偵聽狀態,准備接收連接請求。客戶機建立套介面後,通過connect()函數與伺服器建立連接。連接建立後,雙方即可通過read()和write()函數進行數據交換。數據傳送結束後,通過close()關閉套介面。
套接字(socket)是通信的基礎,是TCP/IP協議網路通信的基本操作單元。它包含協議、本地和遠程主機的IP地址及埠信息。應用層通過socket介面與傳輸層通信,實現並發服務。
Socket連接包括三個步驟:伺服器監聽,客戶端請求,伺服器響應並建立連接。伺服器始終處於監聽狀態,等待客戶端連接請求。客戶端需指定伺服器套接字的地址和埠號,發起連接請求。伺服器接收請求,創建新線程回應客戶端,並將伺服器套接字描述發送給客戶端。客戶端確認描述後,正式建立連接。伺服器套接字繼續監聽,接受其他客戶端連接請求。
示例代碼展示了如何編譯和運行伺服器與客戶端程序。TCPClient.c和TCPServer.c文件分別實現客戶端和伺服器功能。通過命令行編譯並執行程序。
TCPServer.c代碼展示了伺服器端實現,包括創建套介面、綁定地址、監聽連接請求、接收客戶端連接並處理數據交換的過程。TCPClietn.c代碼展示了客戶端實現,包括連接伺服器、發送與接收數據的功能。
對於Python程序,通過創建套介面和監聽連接,實現伺服器與客戶端之間的消息交換。伺服器端代碼接收連接請求,接收用戶名稱,並將用戶加入字典。用戶輸入信息後,伺服器廣播給所有在線用戶。客戶端通過連接伺服器並發送信息與伺服器進行通信。
