Netty Невозможно получить весь пакет - PullRequest
0 голосов
/ 26 ноября 2018

Кажется, я не могу понять, почему у меня разбивается первый пакет, а остальные пакеты я получаю как один.

Первая полученная вещь - это IMEI (17 байт), сервер netty отправляет ответ 01 и начинает отправку пакетов, на которые я отвечаю другим ответом.

Но почему я продолжаю получать первый пакет из двух частей?В то время как другие отправляются как один (что нормально).Он всегда получает до 1024 байтов, а затем оставшиеся 251 байт.Весь пакет до 1275 байт ..

1 Ответ

0 голосов
/ 26 ноября 2018

Вообще говоря, нет гарантии, если пакет разделен или нет при использовании TCP.Таким образом, вы не можете делать какие-либо предположения по этому поводу.

Тем не менее, то, что вы видите, может быть результатом использования AdaptiveRecvByteBufAllocator (по умолчанию), так как оно начинается с небольших размеров выделения, а затем увеличивается при необходимости.

Вы можете использоватьотличается RecvByteBufAllocator, если вы хотите изменить поведение.Но опять же, это не то, от чего вы можете зависеть.

...