我创建了一个使用套接字与服务器通信的应用程序。这是我学校聊天协议的聊天应用程序。服务器可以随时向我发送消息。我坚持“随时”。我虽然在一个线程中做了一个while(true)循环,但它似乎无法工作。
总结一下:我想等待来自服务器的消息。
任何有帮助的帮助。
答案 0 :(得分:0)
我想你在谈论abt java。 如果您只需要从服务器读取,则需要一个线程。 InputStreamReader将一直等到它收到一些消息。但是如果你使用一些gui来显示结果并且只有一个线程,那么程序看起来就像死了一样,因为在等待时间内不会执行任何操作。 因此你需要将阅读部分放在单独的线程中。
例如:
class Reader implements Runnable{
Scanner scan=null;
public Reader(Scanner scan){
this.scan=scan;
new Thread(this).start();
}
public void run(){
while(true){
putToGui(scan.next());
}
}
}