10

netty:一个包的数据,channelRead回调的bytebuf数据不完整?

图片说明

<netty.version>4.1.32.Final</netty.version>

第一次channelRead读取的数据:

FEFCBFFFFFFFFEFFFEFFDCFFF5FFC8FFFDFFFAFFFCFBFFF8DDFFFFFFFFFFFFFFEFFFE0FFE0FFFFFFF4FFF4FFEFFFF0FFFFFEA1FFFF8AEBF246061C44B2E8493F

第二次channelRead读取的数据:

A5540814A1

两次读取才是一个包的完整数据

一个包的数据,被分为两次读取,这个结论是通过抓包得到的
虽然问题得到解决,但是不知道为何会发生这种情况
请群里大神解答一下

因使用的是最简单的tcp文本协议, 没有包头和包长度

采用的方案是判断接收一个包的字符串长度

使用netty4.x客户端接收较大数据量报文时发生的读取不完整bug修复记录

我是通过这个文章的思路解决的问题

查看全部
u010947098
Rick-Lu
2019/04/17 10:15
  • java
  • 点赞
  • 收藏
  • 回答
    私信

0个回复