問題:TCPセグメントが破損しています。
SocketChannelで一連のByteBufferを何度も送信します。シーケンスは次のとおりです。
\r\n
length of chunk (example: fff)
\r\n
chunk data (rubbish, a 1000 - 5000 character long string)
\r\n
length of next chunk (example: fff)
\r\n
next chunk data (rubbish, a 1000 - 5000 character long string)
..。
パターンをご覧いただければ幸いです。ネットワークレベルのMTUは約1500であるため、「チャンクデータ」を介して送信するTCPセグメントを作成します。
セグメントの問題は次のとおりです。どういうわけか(?)、ランダム(?)、セグメント(そのペイロード)は、最初に「チャンクデータ」の残りのバイトではなく\ r\nで始まります。
たとえば、次のようになります。
(segment 1)
\r\n
length of chunk (example: fff)
\r\n
chunk data (456 bytes)
(segment 2)
\r\n
chunk data (remaining 156 bytes)
length of next
\r\n
それ以外の:
(segment 1)
\r\n
length of chunk (example: fff)
\r\n
chunk data (456 bytes)
(segment 2)
chunk data (remaining 156 bytes)
\r\n
length of next
\r\n
参加する\r\ nを含むByteBufferを除いて、私の「チャンクデータ」ByteBufferが正しく送信されたことを知って、Javaコードがそれを引き起こすことができるかどうかを知りたいです...どんな助けも歓迎します、ありがとうあなたの時間!
アンドリュー