Socket中SO_REUSEADDR/SO_REUSEPORT详解

目录

 

SO_REUSEADDR/SO_REUSEPORT到底什么意思?

设置SO_REUSEADDR选项 

TIME_WAIT有什么意义呢?


SO_REUSEADDR/SO_REUSEPORT到底什么意思?

SO_REUSEADDR选项有如下语义:

这个套接字选项通知内核,如果端口忙,但TCP状态位于 TIME_WAIT(Linux下的TIME_WAIT大概是2分钟) ,可以重用端口。如果端口忙,而TCP状态位于其他状态,重用端口时依旧得到一个错误信息,指明"地址已经使用中"。如果你的服务程序停止后想立即重启,而新套接字依旧使用同一端口,此时SO_REUSEADDR 选项非常有用。

SO_REUSEPORT选项有如下语义:

此选项允许完全重复捆绑,但仅在想捆绑相同IP地址和端口的套接口都指定了此套接口选项才行,Windows 系统没有 SO_REUSEPORT 选项,如果被捆绑的IP地址是一个多播地址,则SO_REUSEADDR和SO_REUSEPORT等效。

设置SO_REUSEADDR选项 

(1)使用通常的socket函数创建一个监听套接口
(2)调用setsockopt函数设置SO_REUSEADDR为TRUE

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值