首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何避免NoRouteToHostException?

如何避免NoRouteToHostException?
EN

Stack Overflow用户
提问于 2018-05-11 03:30:21
回答 2查看 0关注 0票数 0

试图报告不同线程技术的效果。为此编写了几个类来响应来自使用Java套接字的客户端的请求。想法是让服务器充满请求,并报告不同的线程策略如何处理这个问题。每个客户端将发出100个请求,并且在每次迭代中,我们将客户端的数量增加50个,直到出现中断。

问题:可重复且一致地发生异常:

代码语言:javascript
复制
Caused by: java.net.NoRouteToHostException: Cannot assign requested address
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)

这发生在几种情况下,包括当客户端和服务器都在本地主机上运行时。连接可以在一段时间内成功完成,但在尝试连接引发异常的150个客户端后会成功。

我怎样才能避免NoRouteToHostException?

EN

回答 2

Stack Overflow用户

发布于 2018-05-11 11:54:54

设置:

代码语言:javascript
复制
echo "1" >/proc/sys/net/ipv4/tcp_tw_reuse

代码语言:javascript
复制
echo "1" >/proc/sys/net/ipv4/tcp_tw_recycle

这些设置可能会使Linux重新使用TIME_WAIT套接字。

票数 0
EN

Stack Overflow用户

发布于 2018-05-11 13:01:02

临时端口范围

短暂端口范围的另一个重要分支是它限制了从一台机器到远程机器上特定服务的最大连接数!TCP / IP协议使用连接的4元组来区分连接,因此如果临时端口范围仅为4000端口,则意味着一次只能有4000个从客户机到远程服务的唯一连接。

也许你用尽了可用的端口。要获取可用端口的数量,请参阅

代码语言:javascript
复制
$ cat /proc/sys/net/ipv4/ip_local_port_range 
32768   61000
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档