当前位置: 首页 > news >正文

设置socket选项SO_REUSEADDR

服务器监听socket通常会设置socket选项SO_REUSEADDR,即端口、ip可重用。代码如下:

int reuse = 1; int ret = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&reuse, sizeof(reuse));

为什么会设置这个选项呢?
先说结论:
服务器监听 socket 设置 SO_REUSEADDR,是为了解决重启服务器时,端口因 TIME_WAIT 状态被占用,导致监听失败的问题。

回答这个问题,要理解tcp的4次挥手,
第一步,主动关闭方(A),先发送FIN包,进入FIN_WAIT_1状态
第二步,被动关闭方(B),收到FIN,回复ACK包,B进入CLOSE_WAIT状态
第三步,被动关闭放(B),发送FIN包, B进入LAST_ACK状态
第四步,主动关闭放(A),收到FIN包,回复ACK包,A进入TIME_WAIT状态,通常2MSL,B收到ACK包直接关闭
第五步,2MSL超时后,A从TIME_WAIT进入CLOSED状态,端口释放。

在第四步时,端口是占用状态,新的监听socket无法绑定该端口,会失败。

选项的作用:
设置SO_REUSEADDR后,允许新的监听socket绑定处于TIME_WAIT状态的端口,让服务器能快速重启。

http://www.jsqmd.com/news/344182/

相关文章:

  • 2026年污水处理制造厂可靠选择指南与深度解析 - 2026年企业推荐榜
  • 2026年初至今,湖北企业如何甄选污水处理优质服务商? - 2026年企业推荐榜
  • 深度学习速成:模型的使用与修改,保存与读取
  • 2026年开年,湖北企业如何甄选靠谱的污水处理药剂供应商? - 2026年企业推荐榜
  • 2026年湖南污水处理制造厂综合实力与服务信誉深度评析 - 2026年企业推荐榜
  • 2026年亳州报废车回收实力厂家深度评估与推荐 - 2026年企业推荐榜
  • 2026年知名的长春AI数字人制作/数字人制作口碑推荐 - 行业平台推荐
  • 2026年知名的吉林数字人制作精品推荐 - 行业平台推荐
  • 2026年佛山空冷器供货可靠厂家综合评估与推荐 - 2026年企业推荐榜
  • 2026年佛山闭式塔空冷器制造厂综合评估与精选推荐 - 2026年企业推荐榜
  • 演示下 一个qkv网络逐步趋向出局部加法结构的过程的每个详细的子步骤 -----来自deepseek的回答
  • 2026年口碑好的长春AI数字人制作精选排行推荐 - 行业平台推荐
  • 2026现阶段河北知名的半导体封装甲酸真空回流焊生产商精选 - 2026年企业推荐榜
  • 2026年宜兴MBBR填料选购指南:深度解析五家优质服务商 - 2026年企业推荐榜
  • 2026年Q1徐州儿童房窗帘品牌专业解析与五强推荐 - 2026年企业推荐榜
  • 2026年靠谱的数字人制作/长春数字人制作优选推荐 - 行业平台推荐
  • 2026年比较好的去氧化皮去毛刺机靠谱厂家盘点 - 行业平台推荐
  • Granite-4.0-H-350M实战:轻松实现多语言问答与文本摘要
  • 2026上海全屋定制服务商数据盘点与选购指南 - 2026年企业推荐榜
  • 2026年临沂高性价比干洗服务商深度测评与推荐 - 2026年企业推荐榜
  • 实测CTC语音唤醒模型:93%准确率的‘小云小云‘识别
  • 2026年Q1临沂干洗服务商综合测评与选择指南 - 2026年企业推荐榜
  • Linux常用命令大全:RMBG-2.0运维指南
  • 2026年成都餐桌石材厂家评测:如何选择优质服务商? - 2026年企业推荐榜
  • RexUniNLU部署案例:中小企业客服对话意图+情感双任务解析
  • MusePublic Art Studio效果实测:长尾提示词对复杂场景理解能力
  • ollama部署embeddinggemma-300m:300M参数模型如何实现媲美大模型的语义精度
  • Chord与VSCode完美搭配:C++视频分析开发环境配置
  • 5分钟搭建私有AI股票分析:Ollama镜像完全指南
  • 2026年口碑好的三维动画长期口碑汇总 - 行业平台推荐