Netty - Framing

I created this small example . I have EchoServeron port 8080 and LogServeron port 9090 (example in this example). Both run on the same machine (c Server, which contains the main one).

Server started on port 8080
Server started on port 9090

As soon as the client - through telnet- connects, EchoServerestablishes a connection with LogServer. Now I entered long text, say 5000 characters (see Long_text in the example), even if bash cannot handle it:

EchoServer Received: 1024
LogServer Received: 1024
EchoServer Received: 2048
LogServer Received: 2048
EchoServer Received: 1025
LogServer Received: 1025

If I enter the text again, I get:

EchoServer Received: 2048
LogServer Received: 2048
EchoServer Received: 2049
LogServer Received: 2049

Do it again:

EchoServer Received: 3072
EchoServer Received: 1025
LogServer Received: 3072
LogServer Received: 1025

And again:

EchoServer Received: 4096
EchoServer Received: 1
LogServer Received: 4096
LogServer Received: 1

Last time:

EchoServer Received: 4097
LogServer Received: 4097

My observation:

, . , , 1024 (1024, 2048, 3072, 4096,...). , TCP.

LogServer , ? , LogServer.

[ EDIT1]

. , telnet EchoSever. , . ( Kilobyte) WebSockets, .

[ EDIT2]

( wirehark - ). , TCP. ( 4095 A), , TCP-:

  • 1 (1506 ) 1440 TCP (41 41 41 ... 41 41 41/HEX)
  • 2 (1506 ) 1440 TCP (41 41 41 ... 41 41 41/HEX)
  • 3 (1283 ) 1217 TCP (41 41 41 ... 41 0d 0a/HEX)

4095 A + CRLF .

EchoServer :

EchoServer Received: 1024
EchoServer Received: 2048
EchoServer Received: 1025

4095 + CRLF, , TCP ( , ). Netty?

0
2

- . - Netty . 1024, . , .

AdaptiveReceiveBufferSizePredictor, , .

, , , , TCP/IP , , . , : http://netty.io/docs/stable/guide/html/ (. " ".)

+2

, FrameDecoder . , StringDecoder DelimiterBasedFrameDecoder. Telnet , , TelnetServerPipelineFactory

0

All Articles