【发布时间】:2018-12-24 20:06:43
【问题描述】:
我正在向服务器发送消息,该消息正确传递。
但是,当我试图读取结果时,我得到一个异常 Socket is closed。
知道如何关闭套接字的输出流,同时保持套接字和套接字的输入流打开以获得结果吗?
客户端代码:
Socket socket = new Socket("localhost", 9090);
String message = "Some message";
new OutputStreamWriter(socket.getOutputStream(), Charsets.UTF_8)
.append(message)
.close();
// The following line throws the exception when socket.getInputStream() is called:
String fromServer = CharStreams.toString(new InputStreamReader(socket.getInputStream(), Charsets.UTF_8));
例外:
java.net.SocketException: Socket is closed
at java.net.Socket.getInputStream(Socket.java:903)
at alik.server.test.Client.pingServer(Client.java:24)
【问题讨论】:
标签: java sockets inputstream outputstream tcpsocket