Я получил странную ошибку при использовании netty (с верблюдом), мы используем для связи LengthFieldBasedFrameDecoder, клиент является программой-сокетом от третьей стороны, мы используем netty (компонент camel-netty) на стороне сервера.
иногда два сообщения «объединяются» в одно, и, следовательно, предстоящие данные ошибочны.
например:
клиент отправляет два сообщения:
[10] AAAAAAAAAAAAAAAAи [10] BBBBBBBBBBBBBBBB
, где [10] - длина байтов, а AAAAAAAAAA - данные.
, но на сервере мы получили [10] AAAAAA [10] BBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA* Кажется, первое сообщение было разделено на второе, поэтому декодер интерпретировал данные как:
[10] AAAAAA [10] BBBBBBBB
и
BBBBBBBAAAAAAAAAAA...................................................
, чтобы первое сообщение было правильной по длине, но неверным в данных, а второе сообщение неправильной по длине "BB" и получило намного более длинный пакет данных.
надеюсь, я четко описал, кто-нибудь встречал это раньше?