正常来说,是不会出现你说的错误的。
但是你的程序
client = new Socket(bankIP, bankPort);
client.setSoTimeout(200);
是有问题的,不知道是不是这里的原因。
当你的socket连不上的时候,在
client = new Socket(bankIP, bankPort);是会阻塞的,而不会执行到下面的语句。
如果想设置超时应该用
controlSock = new Socket();
controlSock.connect(new InetSocketAddress(remoteHost, port),timeOut);