我目前正在开发一个总体上非常基本的聊天应用程序,但是在从客户端和服务器端接收字符串时遇到问题。我正在使用一个线程被动地在套接字上侦听传入消息,这是我怀疑问题所在。我这样做对吗?
来源:发送字符串的代码:
send.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
messageBuffer = message.getText();
out.println(messageBuffer);
chat.append(username + ": " + messageBuffer + "\n");
message.setText("");
}
});
然后我有这个被动地听(问题可能在这里):
public void run(){
while(true){
try {
messageBufferIn = in.readLine();
System.out.println(in.readLine());
chat.append(recipient + ": " + messageBufferIn + "\n");
} catch (IOException e) {
e.printStackTrace();
}
}
}
我也使用这个调用线程:
public static void startChatting(){
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
感谢您提供的任何帮助,我对整个线程仍然很陌生,所以我的错误可能相当平庸。
编辑:问题是当我尝试向接收者发送消息时,没有任何消息,我可以确认它们已连接。实际上 System.out.println(in.readLine()); 根本没有通过,甚至没有“空”输出。