利用netty开发工业级通信协议:帧头帧尾识取数据帧,粘包、半包、无效包处理

本文介绍了如何利用Netty框架开发工业级通信协议,重点在于帧头帧尾的识别,处理粘包、半包和无效包的问题。通过创建HeaderEnderDecoder类,定义帧头和帧尾,解析并提取数据帧,确保数据的正确性和完整性。同时,文章提供了调试工具网络调试助手来验证协议实现的效果。
摘要由CSDN通过智能技术生成

一.说明

1)对netty框架基本了解

2)面对工业级的协议实现,避免漏洞百出

3)严谨的工业协议一般格式:

  •     帧=同步帧头+数据帧+同步帧尾
  •  数据帧: 指令码 + 采集时间+数据长度+数据.....+校验码

4)重点是协议代码的实现

二、实现步骤:

    1.  将netty组件引入spring 或springboot项目

<dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
        </dependency>

    2 实现Server-Tcp-Handler ,代码略

        1)、建立 Server-ChannelInitializer,代码略

         2).  建立解码和编码协议

        3).  建立运行入口

  三、协议实现

     1、要点: 1)读取要和reader索引同步 2)不要写循环语句,没有处理完的数据会重发。3)考虑健壮性

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值