读取 TCP 消息

Read a TCP Message

我的 TCP 连接有问题(我做了一个 class 扩展线程)。我已经用这段代码实现了读取部分:

byte[] bytes = new byte[1000];


             StringBuilder reader = new StringBuilder();

             int numRead = 0;
             if ((numRead = socket.getInputStream().read(bytes)) >= 0)
             {
               reader.append(new String(bytes, 0, numRead));
             }

这是唯一适用于我的应用程序的代码。昨天我写了这段代码:

BufferedReader in = new BufferedReader(new
BufferedReader(socket.getInputStream()));
StringBuilder str = new StringBuilder();
String msg;
while(msg=in.readLine() != null) //I also tried while (msg != "")  
{
 str.append(msg);
} 
Log.d("String:",str.toString();

但它对我不起作用:它没有打印任何东西。 所以我也试了没有while循环的代码,也没用。

如何更改?我需要听从我的服务器消息的顺序,例如:

我需要如何更改我的代码? 谢谢

readLine() only returns null at the end of stream: 也就是说,当对等方关闭连接时。

可能您应该一次读取和写入一行,但这是您的应用程序协议:只有您真正知道。