SOCKET accept後端口與listen綁定端口相關備註

之前一直有一個疑問,SOCKET ACCEPT後產生的新端口端口號和原來LISTEN時候的端口號是一致的嗎?經過試驗的確是一致的,那麼一致的情況下又怎麼區分數據呢?

原來我一直忽略了SOCKET的標識,也就是他的身份證。一個SOCKET的標識是一個五元組(服務端IP,服務端端口號,客戶端IP,客戶端端口號,所用協議),而我們可以理解,在LISTEN的時候指定了服務端IP,服務端端口號和所用協議,但是客戶端IP和客戶端端口號是通配符。在ACCEPT之後客戶端IP和端口號是建立連接的客戶端相應的數據,所以ACCEPT和LISTEN的這兩個數據的不同導致了SOCKET的身份證不同,所以他們倆是不同的兩個SOCKET,但是共用同一個服務器端口號。

發佈了85 篇原創文章 · 獲贊 2 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章