使用套接字时,Java bufferedReader和Inputstream之间的差异
try (
InputStream reader = socket.getInputStream();
OutputStream writer = socket.getOutputStream()
) {
byte[] bytes = new byte[4096];
int byteLength = reader.read(bytes);
String message = new String(bytes, 0, byteLength, StandardCharsets.UTF_8);
writer.write("response message".getBytes());
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
try (
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
OutputStream writer = socket.getOutputStream()
) {
String message = reader.readLine();
writer.write("response message".getBytes());
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
我做了服务器套接字。从客户端套接字接收消息时,它将返回响应消息。 当我仅使用InputStream(第一个代码)时,客户端套接字获取响应消息。 但是,当我使用BufferedReader(第二代码)时,客户端套接字无法获取响应消息。
我发送响应消息的方式是相同的。 我如何收到消息是唯一的不同。
第二个代码怎么了? 它们有什么区别?
try (
InputStream reader = socket.getInputStream();
OutputStream writer = socket.getOutputStream()
) {
byte[] bytes = new byte[4096];
int byteLength = reader.read(bytes);
String message = new String(bytes, 0, byteLength, StandardCharsets.UTF_8);
writer.write("response message".getBytes());
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
try (
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
OutputStream writer = socket.getOutputStream()
) {
String message = reader.readLine();
writer.write("response message".getBytes());
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
I made server socket. It returns response message when it receives message from client socket.
When I use only InputStream (first code), the client socket gets response message.
However when I use BufferedReader (second code), the client socket cannot get response message.
The way I send response message is same.
How I receive message is the only different.
What's wrong with the second code?
What's the difference between them?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论