我创建运行下面的代码一个新的线程:关闭ServerSocket - 如何正确检查客户端套接字是否关闭?
public static void startServer() throws IOException {
serverSocket = new ServerSocket(55000);
Socket clientSocket = serverSocket.accept();
}
上面的代码是在一个线程中运行。现在,在我的主类中,我成功创建了一个连接到服务器的套接字 ,并且检查了它的完整性,这很好。这里是代码:
Socket testServerSocket = new Socket("127.0.0.1", 55000);
assertEquals("/127.0.0.1", testServerSocket.getInetAddress().toString());
assertEquals(55000, testServerSocket.getPort());
这运行完美。然后,再次从我的主,我杀了服务器端关闭连接的服务器连接。但是下面的代码会一直失败: assertEquals(false,testServerSocket.isBound());
它始终返回true。同样,如果我检查连接的远程IP地址,它不会返回null,而是'/127.0.0.1'。任何想法,为什么这可能会发生?您的帮助
如何“杀死服务器连接”?调用serverSocket.close()? – 2011-02-15 17:33:14