【发布时间】:2011-03-24 10:17:03
【问题描述】:
我正在使用 Java 进行套接字通信。服务器正在从客户端读取字节,如下所示:
InputStream inputStream;
final int BUFFER_SIZE = 65536;
byte[] buffer = new byte[BUFFER_SIZE];
String msg="";
while (msg.indexOf(0)==-1 && (read = inputStream.read(buffer)) != -1)
{
msg += new String(buffer, 0, read);
}
handleMessage(msg)
当客户端一次发送多条消息时出现问题,服务器混合消息,例如
MSG1: <MyMessage><Hello/>nul
MSG2: </MyMessage><MyMessage><Hello again /></MyMessage>nul
所以消息 1 的尾部是消息 2 的一部分。 null 代表 java nul 符号。
为什么输入流混合消息?
提前致谢!
【问题讨论】:
-
向我们展示通信双方的代码。
标签: java sockets inputstream