Я использую 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. Ноль представляет символ java nul.
Почему входной поток смешивает сообщения?
Заранее спасибо!