交互過程及區別介紹「socket服務端和客戶端的區別」

大家都知道Web服務是基於HTTP協議的,而HTTP協議又是TCP協議上的應用層協議。因此我們在開發一個Web服務之前,我們先介紹一下如何使用Go語言開發一個基於TCP的客戶端與服務端程序(關於TCP協議的原理可以參考本號之前的文章《從socket到TCP協議,透徹理解網路編程》)。

Go語言從入門到精通-04| Socket客戶端與服務端

程序比較簡單,服務端用於等待客戶端的連接,連接建立成功後,如果接到客戶端的數據,則原封不動的返回相同的數據。客戶端建立與服務端的連接,連接建立成功後向服務端發送字元串數據,並等待接收服務端的返回。

服務端

前面已經介紹,服務端用於等待客戶端的連接,連接建立成功後,如果接到客戶端的數據,則原封不動的返回相同的數據。如下是服務端的代碼,監聽的埠為8080。

Go語言從入門到精通-04| Socket客戶端與服務端

客戶端

客戶端建立與服務端的連接,連接建立成功後向服務端發送字元串數據,並等待接收服務端的返回。客戶端收到服務端的數據後會在終端列印出來。

Go語言從入門到精通-04| Socket客戶端與服務端

測試驗證

測試驗證也比較簡單,首先需要注意觀察一下服務端的ip地址,然後在服務端啟動服務端的程序假設服務端的地址為192.168.142.128,此時在客戶端的中斷輸入如下命令:

./client 192.168.142.128:8080

此時可以看到有Hello World!字元串輸出。說明整個通信過程是正確的。如果會用Wireshark或者tcpdump等網路監測工具,可以看一下整個交互過程

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/281204.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-21 13:16
下一篇 2024-12-21 13:16

相關推薦

發表回復

登錄後才能評論