【发布时间】:2011-04-26 18:00:39
【问题描述】:
在 Java API 中,
Socket socket = serverSocket.accept();
BufferedReader fromSocket = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter toSocket = new PrintWriter(socket.getOutputStream());
//do sth with fromSocket ... and close it
fromSocket.close();
//then write to socket again
toSocket.print("is socket connection still available?\r\n");
//close socket
socket.close();
在上面的代码中,在我关闭了来自Socket的InputStream之后,似乎socket连接不可用了——客户端不会收到“is socket connection仍然可用”的消息。 这是否意味着关闭套接字的输入流也会关闭套接字本身?
【问题讨论】:
-
不,它不会在服务器端抛出任何异常。似乎 toSocket 输出流 obj 在服务器端仍然有效,但在客户端连接已关闭。