解决方法:
手动设置服务端的ip:-Djava.rmi.server.hostname=一个网卡的IP
问题描述:
项目是基于RMI实现的一个分布式架构,由于项目并未发展起来,所有服务端和客户端运行在同一个服务器上。在此期间,偶尔会报错:Connection timed out: connect。
解决过程
网上搜索相关资料,大多都是ip、端口和防火墙的设置问题,都与我这个情况不符,因为我这边是偶尔发生。
直到灵感发现
java.rmi.ConnectException: Connection refused to host: 211.xx.xx.xx; nested exception is: java.net.ConnectException: Connection timed out: connect这个IP是公网IP,而我客户端找的IP是127.0.0.1。
然后想到可能是网卡问题,顺着问题一搜,发现也有相关文章:我第一次发现的。
我按照方法设置后,果然没有再出现上述问题,至此问题解决。
本文详细记录了解决在一个基于RMI的分布式架构中,服务端和客户端同处一台服务器时,偶尔出现的连接超时错误。通过调整服务端的IP设置,手动指定为特定网卡的IP地址,成功避免了客户端寻找错误IP的问题,彻底解决了连接超时的故障。
8696

被折叠的 条评论
为什么被折叠?



