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

 

你可能感兴趣的:(网络编程)