一、tcp的基本概念
tcp是專門設計用于在不可靠的英特網上提供可靠的、端到端的位元組流通信的協定,是一個面向連接配接的協定,tcp連接配接是位元組流而非封包流。udp和tcp各有65536個端口号互不影響。
二、單線程服務端
以下代碼隻能實作服務端和用戶端的同步對話。服務端處理完一個用戶端請求,才會處理另一個用戶端請求。伺服器端的輸出效果是client1阻塞20秒,client2不會執行。必須等client1阻塞結束之後,client2才會執行。該例子可用來學習tcp的基本文法。
執行結果
connected
用戶端的ip:127.0.0.1
用戶端的端口:3775
用戶端的資訊:我是徐越1
用戶端的端口:3787
用戶端的資訊:我是徐越2
三、多線程伺服器
在實際應用中是在伺服器上運作一個永久的程式,接收來自其他多個用戶端的請求,提供相應的服務。需要利用多線程實作多客戶機制。伺服器在指定的端口上監聽是否有客戶請求,一旦監聽到就會啟動一個專門的服務線程來響應該請求,而伺服器本身在啟動完線程之後馬上又進入監聽狀态,等待下一個客戶的到來。隻要将服務端為如下代碼,client1和client2就會異步執行。
兩個多線程服務端執行結果相同
伺服器啟動
用戶端的端口:3931
用戶端的端口:3928
參考位址:http://www.2cto.com/kf/201209/158518.html