Я кодирую, отправляю и декодирую данные, используя sockets/networkStream. Но как я могу эффективно отделить сообщения друг от друга?
Например, когда я использую 1024-байтовый буфер, я получаю данные через networkStream. Затем я хочу передать этот буфер моему классу декодера, но я не уверен, что часть следующего сообщения уже скрывается в буфере. Если мое сообщение имеет только 50 байтов, как я узнаю, что в этом буфере нет 20 сообщений? Или, что еще хуже, в моем буфере могут быть частичные сообщения?
Допустим, мое сообщение имеет 3000 байт, может ли быть сообщение и начало второго сообщения в буфере? Или networkStream автоматически получает сообщения в пакетах по мере их отправки?
\n\n
в качестве терминатора в вашем вопросе. - person jgauffin   schedule 25.05.2012