前提:
我用socket分别与局域网内所有PC建立连接(局域网内有一台PC已经运行了服务器端)。问题产生于客户端:
1。如果我直接指定那台服务器的 主机的inetAddress 和 端口 的话,即时延迟设置为50ms也可以正常连接。
socket s = new socket();
s.connect( inetAddress , 20000 , 50);
s.close();2。但,如果我用循环不停的执行上面的代码(主机inetAddress变成2-254)的话,延迟设置到1秒才可以确保正常连接。否则均抛出time out错误。纠结了好久好久,不得其解啊,恳请高手点拨一二!!
我用socket分别与局域网内所有PC建立连接(局域网内有一台PC已经运行了服务器端)。问题产生于客户端:
1。如果我直接指定那台服务器的 主机的inetAddress 和 端口 的话,即时延迟设置为50ms也可以正常连接。
socket s = new socket();
s.connect( inetAddress , 20000 , 50);
s.close();2。但,如果我用循环不停的执行上面的代码(主机inetAddress变成2-254)的话,延迟设置到1秒才可以确保正常连接。否则均抛出time out错误。纠结了好久好久,不得其解啊,恳请高手点拨一二!!
你的这个inetAddress 应该是局域网内的所有ip地址都尝试一遍
能否把我那个socket方法不成功的理由告诉我呢?我好奇的是,为什么连接一个服务器端的时候就可以,而批量连接的时候就超时呢?★到底是在什么地方浪费了时间导致了超时呢?★