测试:多次tcp工具模拟半包接收
全部数据
模拟网络延时导致的多次接收
第一次发送
第二次发送
第三次发送
下图是三次发送时的接收情况,可以看出在第三次接收时,就收的就不是拼装好的全部数据了,那么这个拼装是在哪里进行的呢,是在decoder中,所以当多种协议同时接入netty时,一定得想办法让各自的数据百分之百的到各自的decoder中,否则,当同一条数据接收超过2次时(半包问题),会解析不正确
注:通常在内存中会维护一个clientId和channel一一对应的Map,在这里判断的时候,可以通过这个和数据协议的不同,一起来判断当前数据是属于哪个decoder