其实关于这个问题可能用到的人不会很多,不过我在这里还是说说。
正常很多人写socket通信时,都会直接通过new?socket(IP,PORT)直接去链接服务器。其实这种做法也没有错误,但是若当服务器IP不存在会服务器没有响应时,程序会卡在这句代码老长一段时间,才会跳出并报异常。这对于这种问题,通过设置连接超时时间可以进行解决:
???socket =?new?Socket();
???SocketAddress?socAddress =?new?InetSocketAddress(this.netAdress, this.port);?
???socket.connect(socAddress, 5000);
???SocketAddress?socAddress =?new?InetSocketAddress(this.netAdress, this.port);?
???socket.connect(socAddress, 5000);
5000就是你所设置的超时时间!