Linux客户端连接报错:Cannot assign requested address

前言

在项目中写了一个MQTT的客户端小程序,用于测试MQTTServer的连接数上限,运行了一段时间后报错:Cannot assign requested address

网上查了下"Cannot assign requested address"指的是linux系统无法继续为客户端分配端口了(已用尽),所以无法进行监理socket连接。

定位问题

1. 查看当前linux系统的可分配端口

cat /proc/sys/net/ipv4/ip_local_port_range

当前系统的端口数范围为20000~65534, 所以能分配的端口数为25535。如果我的连接数达到了25535个,就会报如上错误。

那么该如何调整这个端口范围呢?

解决方法

1. 修改端口范围

执行:vim /etc/sysctl.conf,添加如下内容

#1000到65534可供用户程序使用,1000以下为系统保留端口
net.ipv4.ip_local_port_range = 1000 65534

执行:sysctl -p

再次查看端口范围:cat /proc/sys/net/ipv4/ip_local_port_range

 

2. 配置tcp端口的重用配置,提高端口的回收效率

执行:vim /etc/sysctl.conf添加如下内容:

#TCP connection recovery

net.ipv4.tcp_max_tw_buckets = 6000000

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 10

net.ipv4.route.max_size = 5242880

net.ipv4.ip_forward = 1

net.ipv4.tcp_timestamps = 1

传送门:2021最新测试资料与大厂招聘合集

博主:测试生财(一个不为996而996的测开码农)

座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。

内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。

csdn:https://blog.csdn.net/ccgshigao

博客园:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374

微信公众号:测试生财(定期分享独家内容和资源)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公众号-测试生财

点赞和关注比打赏更重要

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值