SO_RESUSEPORT和SO_REUSEADDR的區別

Q:同一個IP/port,可以允許多個進程同時監聽嗎?

ans:可以,需要設置SO_REUSEPORT選項,否則會報錯(有的系統不支持);但是如果服務端多個相同類型的socket(指協議相同)綁定到同一個地址的話,只有一個進程的socket會收到請求;當處理進程退出後,另外的進程纔會收到請求。

 

Q:SO_REUSEPORT和SO_REUSEADDR的區別

SO_REUSEADDR允許將TIME_WAIT狀態的IP/PORT重用;允許在綁定地址全局IP地址(0.0.0.0)的基礎上再綁定非全零的IP地址;

SO_REUSEPORT允許不同進程綁定到同一個IP/PORT上,而不報錯

 

以下兩篇文章講的挺好的,鏈接如下:

https://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t

https://www.cnblogs.com/qq78292959/archive/2013/01/18/2865926.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章