【学习笔记】socket关于端口重用的学习

这两天想搭建一个c2c服务器的模型,一开始是想用C写,结果C的各种细节写的人太烦躁了,就换成了python,原来n百行的代码瞬间变成了几十行,世界一下子就清净了~这是后话,此文主要是记录一下端口重用的问题。


为什么要用端口重用

之前写socket经常在调试时候,每次重启服务端都会在bind时候报错 :[端口被占用] ,这是因为bind试图绑定一个已经在使用的端口。而这个端口被占用的原因是上次退出之后内核对该端口会保存一段时间。

【bind 普遍遭遇的问题是试图绑定一个已经在使用的端口。该隐患是也许没有活动的套接字存在,但仍然禁止绑定端口(bind 返回 EADDRINUSE),

它由 TCP 套接字状态 TIME_WAIT 引起。状态在套接字关闭后约保留 2个MSL时长(RFC793定义了MSL为2分钟,Linux设置成了30s)。在 TIME_WAIT 状态退出之后,套接字被删除,该地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值