异步任务提示Cannot assign requested address

wushd

wokrerman 用AsyncTcpConnection做异步任务,并发高的时候系统会提示Cannot assign requested address,该怎么弄。
已经根据http://doc3.workerman.net/315302 这个进行linux优化了

1749 3 0
3个回答

walkor

在报错的服务器上也就是运行 AsynTcpConnection的服务器上执行sysctl -a | grep tcp_max_tw_buckets截图下。

  • 暂无评论
wushd

截图

  • 暂无评论
walkor

作为客户端出现这个问题是因为本地端口被消耗光了。

/etc/sysctl.conf 里添加 net.ipv4.ip_local_port_range = 10000 65000
运行 sysctl -p使之生效,这样增加一些可用端口。

如果还是报相同的错误,尝试使用下面方法
1、vim /etc/sysctl.conf
2、添加或者修改
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
3、保存
4、运行 sysctl -p

  • wushd 2020-12-17

    linux优化那篇不是不推荐开启tcp_tw_recycle 这个吗。会有什么影响吗

  • walkor 2020-12-17

    如果客户端在NAT网络里,与开启tcp_tw_recycle的服务器通讯时可能会超时。

  • wushd 2020-12-17

    @1:那如果客户端和服务端是在同一台服务器里会有影响吗

  • walkor 2020-12-17

    没有影响

  • wushd 2020-12-17

    好的。多谢大佬解答

年代过于久远,无法发表回答
🔝