其实关于这个问题可能用到的人不会很多,不过我在这里还是说说。
正常很多人写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就是你所设置的超时时间!
参考博客:感谢博主。