请选择 进入手机版 | 继续访问电脑版

【Linux】bind为什么会出现地址重用?bind: Address already in use

[复制链接]
奋斗在韩 发表于 2021-1-3 12:13:37 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
大概你遇到过这样的情况:


  • 关闭服务端之后,再次重启时一直报:Address already in use(地点重用)
  • 一段时间事后,再次输入 ./svr 时,服务端又能重启了???
下面实际使用一下:
1. 重启服务端:无法正常启动

2. 一段时间事后:可以正常启动

3. 看下端口状态

并不是我们想象中的毗连关闭了,而是处于一种 TIME_WAIT状态,也就是说19999端口仍然被占用着,因此会出现地点重用的提示
如图:

小结:

  • 先关闭毗连的一端(服务端),在复兴应答发送ACK之后会进入一个TIME_WAIT的状态,期待2MSL的时间确保对端确实收到了应答
  • 若ACK应答在网络中丢失,凌驾期待时间,被动关闭的一端(客户端)会重新给服务端发送一个FIN请求:超时重传
  • 主动关闭毗连的一端(服务端)收到FIN后,会重新发送ACK应答,并重新计时期待2MSL,直到时间耗尽,服务端关闭

来源:https://blog.csdn.net/qq_45691748/article/details/112002238
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )