Java 套接字连接在长时间等待后失败
对于给定的ip和端口,套接字连接失败的原因有哪些?有办法解决这个问题吗?有时我会出现插座连接故障。但我等了几分钟才知道。有没有办法确定连接是否会在较短的时间内失败Java 套接字连接在长时间等待后失败,java,sockets,Java,Sockets,对于给定的ip和端口,套接字连接失败的原因有哪些?有办法解决这个问题吗?有时我会出现插座连接故障。但我等了几分钟才知道。有没有办法确定连接是否会在较短的时间内失败 try{ socketConn = new Socket(this.ip, this.port); }catch (IOException e){ System.err.println("Failed creating a Socket Connection in Peer constructo
try{
socketConn = new Socket(this.ip, this.port);
}catch (IOException e){
System.err.println("Failed creating a Socket Connection in Peer constructor for " +id +
" with IP: " +ip+" and on port: "+port);
}
由于服务器响应缓慢,连接超时经常发生。检查网络连接和服务器。从一个未连接的
套接字开始,并在connect()
方法上提供一个SocketAddress
及其long
超时值
实际上,设置此选项非常重要,否则您的连接操作将(默认情况下)无限期阻塞
您可以缩短超时时间,但这可能会导致可能已连接的连接失败。异常会告诉您什么?您确定有人在该ip/端口上侦听吗?@yair如果没有,他将得到“连接被拒绝”,而不是超时。这是一个连接问题。它不会阻塞“无限时间”,它会阻塞大约70-75秒,具体取决于平台。@EJP哦,你的意思是…一个完全依赖于平台的未定义时间,我的错,我是说…无限时间?