【发布时间】:2016-01-08 15:55:13
【问题描述】:
我正在为大学课程开发一个简单的程序。这是我遇到问题的代码:
//everything before this is unrelevant
String message = "";
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while((message = br.readLine()) != null) {
System.out.println(message);
}
//everything after this is irrelevant
我还有一个线程用于接受传入连接和其他一些无关紧要的东西。我遇到的问题是我可以阅读一条消息,之后什么也没有发生。我猜 readLine() 方法是问题所在,但我不确定如何解决它。 它甚至在我们的作业中说要使用
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
接收数据。
【问题讨论】:
-
你是否第二次在对方输入信息,让本机显示信息?
-
什么意思?假设在我的客户端“程序”上我写了 hello,服务器将打印出 hello。我在客户端编写的任何其他内容都不会在服务器端打印出来。
-
请展示完整的通过socket流发送和接收消息的方法。我们只需要消息发送和接收的相关部分。
-
尝试
telneting 到服务器。您应该能够输入文本行并查看会发生什么。 -
鉴于我们看不到您的客户端代码,我更可能认为是您的客户端发送的内容不超过一行。
标签: java sockets bufferedreader