0

“我有一个简单的客户端正在运行,它连接到我的服务器;但是,连接后我无法接收到任何数据。我猜需要将某些东西放入 while 循环中,这样线程才不会完成,但我不知道该放什么在里面。有人可以帮助我或给我一个线索吗?

  Thread background=new Thread(new Runnable() {
            public void run() {

                 try {
                      socket = new Socket("255.255.255.255", 9999);
                      dataOutputStream = new DataOutputStream(socket.getOutputStream());
                      dataInputStream = new DataInputStream(socket.getInputStream());
                      dataOutputStream.writeUTF("Send this text to the server");
                      Log.i("Appname", dataInputStream.readUTF());

                     } catch (someexceptionhere) {

                     }

            } 
   });
4

3 回答 3

0

如果流未设置为自动刷新,请务必刷新。

Thread background=new Thread(new Runnable() {
  public void run() {
    try {
      socket = new Socket("255.255.255.255", 9999);
      dataOutputStream = new DataOutputStream(socket.getOutputStream());
      dataInputStream = new DataInputStream(socket.getInputStream());
      dataOutputStream.writeUTF("Send this text to the server");
      dataOutputStream.flush();
      Log.i("Appname", dataInputStream.readUTF());
    } catch (Exception _) {}
} 
于 2012-11-05T03:02:31.913 回答
0

我报废了我收到的方式,我正在使用:

socket.getInputStream().read(incomingdata);

似乎现在可以工作了

于 2012-11-05T04:14:44.863 回答
0

当线程的run()方法返回或所有指向它的指针都被清除时,线程将被终止。您应该使用 while 循环来保持代码运行,但请确保Thread.sleep()在循环中使用以防止线程过载设备。10ms 或更多应该可以工作,但不要将其设置为低于您的需要。

于 2012-11-05T06:02:37.067 回答