У меня есть сервер, который управляет двумя клиентами через NetworkStream.Read
.
Протокол приложения:
ClientMessage [128 байт] → ответ от сервера [128 байт]
Теперь на стороне сервера: возможно ли, что MyTcpClient.GetStream().Read()
возвращает только <128 байт, хотя все сообщения на стороне клиента имеют длину ровно 128 байт? </p>
Полагаю, что такое клиентское сообщение достаточно короткое, чтобы поместиться в один пакет на уровне tcp / ip, но может ли быть какая-то фрагментация или случайная, хотя?
Является ли NetworkStream.DataAvailable
подходящим атрибутом для защиты от этого?
После нескольких часов бесперебойной работы я иногда получаю странные ошибки и потери соединения, которые указывают на что-то подобное.
Заранее спасибо.