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

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

图片说明

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

第一次channelRead读取的数据:

FEFCBFFFFFFFFEFFFEFFDCFFF5FFC8FFFDFFFAFFFCFBFFF8DDFFFFFFFFFFFFFFEFFFE0FFE0FFFFFFF4FFF4FFEFFFF0FFFFFEA1FFFF8AEBF246061C44B2E8493F

第二次channelRead读取的数据:

A5540814A1

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

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

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

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

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

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

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 js调用html页面需要隐藏某个按钮
    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥20 java项目连接sqlserver时报ssl相关错误
    • ¥15 一道python难题3
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler
    • ¥15 oracle集群安装出bug
    • ¥15 关于#python#的问题:自动化测试