Rick-Lu 2019-04-17 10:15 采纳率: 50%
浏览 3159
已结题

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

图片说明

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

第一次channelRead读取的数据:

FEFCBFFFFFFFFEFFFEFFDCFFF5FFC8FFFDFFFAFFFCFBFFF8DDFFFFFFFFFFFFFFEFFFE0FFE0FFFFFFF4FFF4FFEFFFF0FFFFFEA1FFFF8AEBF246061C44B2E8493F

第二次channelRead读取的数据:

A5540814A1

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

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

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

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

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

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

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办
    • ¥15 kylin启动报错log4j类冲突
    • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大