1 - 端口复用
端口复用最常用的用途是:
- 防止服务器重启时之前绑定的端口还未释放
- 程序突然退出而系统没有释放端口
设置方法:
int opt = 1;
SO_REUSEADDR,
setsockopt(sockfd, SOL_SOCKET,
(const void *)&opt, sizeof(opt));
注意事项:
- 绑定之前设置端口复用的属性
为什么要有这个端口复用呢
因为在服务端结束后,也就是第三次挥手的时候会有个等待释放时间,这个时间段大概是1-4分钟,
在这个时间内,端口不会迅速的被释放,所以可通过端口复用的方法来解决这个问题
参考2:端口复用解释说明