2012-04-30 125 views
0

为什么套接字连接在给定ip和端口时会失败的原因是什么?有没有办法来解决这个问题?有时我会得到一个套接字连接失败。但是等待几分钟后我才会发现。有没有办法找出连接是否会在较短的时间内失败?长时间等待后套接字连接失败

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); 

    } 
+0

您可以减少超时时间,但是这可能会导致连接可能已连接失败。 –

+0

异常告诉你什么? –

+0

我得到一个连接超时 – user1363410

回答

0

从未连接的Socket开始,并在其connect()方法中提供SocketAddresslong超时值。

它实际上是非常重要的,你设置这样或您的连接操作将阻止(默认)的时间无限期地

Socket Javadoc

+0

好的,谢谢。 – user1363410

+0

它不会阻塞'无限期的时间',它会根据平台阻塞大约70-75秒。 – EJP

+0

@EJP哦,所以你的意思是...一个未定义的时间,完全依赖于平台,我的坏我想说...不确定? – nsfyn55

0

连接超时通常发生在服务器响应慢的情况下。检查网络连接和服务器。