使用套接字和线程等待来自服务器的消息

时间:2011-10-24 05:24:50

标签: android multithreading sockets wait

请原谅我的拼写,即法语,我会尽力做到最好。

我创建了一个使用套接字与服务器通信的应用程序。这是我学校聊天协议的聊天应用程序。服务器可以随时向我发送消息。我坚持“随时”。我虽然在一个线程中做了一个while(true)循环,但它似乎无法工作。

总结一下:我想等待来自服务器的消息。

任何有帮助的帮助。

1 个答案:

答案 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());
    }
}
}