Socket服務端口長連接最多能支持多少?


答案是無限的。視服務端的資源而不同。

以前一直認為服務端在Accept客戶端連接后,會開啟一個新的端口與客戶端建立鏈路,但這是錯誤的。事實上,一個連路是由Server IP+server Port + client IP + client port唯一定義。那么監聽服務打開80時意味着這個服務打開了一個文件,當有client接入時,只要沒有重復的鏈路,都會創建一個新鏈路,那么對於server端還是同一個端口,與客戶端實現了同一個服務端口與不同的client建立了長/短連接的鏈路。

而以前在用C寫程序的時候也是比較模糊,那時為了建立長連接,當接收客戶端請求時,是要開啟一個新線程與這個客戶保持鏈路,但並不會開啟一個新的Port. 開啟一個新線程與開啟一個新Port是不同概念,應該一個是監聽Socket實例,這只有一個,其它的就是通信Socket,它可以是同一個server port,多個實例。端口不是一個實際的硬件口,也不是一個實際的軟件對象,端口只是一個數字標記。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM