![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
netty
文章平均质量分 86
唯重
空性
展开
-
CRC校验
什么是CRC简介CRC循环冗余校验码是数据通信中的一种查错校验码。原理CRC 算法的基本思想是将传输的数据[M(X)] 当做一个位数很长的数。将这个数除以另一个数[G(X)] ,得到的余数[R(X)] 作为校验数据附加到原数据后面,组成循环校验码。M(X)代表待编码的有效信息G(X)代表约定好的多项式R(X)代表代表检验位由于,CRC的结构 = 信息位(N位) + 校验位(K位)所以,CRC编码 = M(X) + R(X)https://blog.csdn.net/huoji555/a转载 2020-12-21 15:07:19 · 26627 阅读 · 2 评论 -
一个自用的二进制通讯消息协议
格式[7f] [命令(1byte)] [子命令(2byte)] [dataLength(2byte,范围:data + CRC + end)] [data] [crc(2byte)][7e]编码BinaryMessagepackage com.xxx.play.base.controllerimport com.xxx.play.base.util.{CRC16, HexadecimalUtil}/** * 二进制消息 * * 格式:[7f] [命令(1byte)] [子命令(2byt原创 2020-12-21 13:20:56 · 646 阅读 · 0 评论 -
Netty: websocket 文件分段上传
阅读原文简介前端用 Blob 分割文件,定义好每一段数据的大小,首先要把文件信息,包括文件名、文件大小、校验值、分段大小等信息发给服务器。然后是执行每一段的发送任务,可异步(有待研究,是开多个ws连接还是?????)也可同步(服务端最好要有回应事件),异步的话需要注意文件段的顺序,最好的话同步异步都用自己定义个格式帧去传输,方便校验。这里是简单版的,直接发送,没有校验! 还有,分段下载也是一样的操作~前端前端用的是 ant-design-vue upload组件,customRequest自定义上原创 2020-12-11 15:18:54 · 1572 阅读 · 2 评论 -
Netty中协议的动态切换
使用场景不同设备间不同协议的解析Netty常规使用启动服务前向Bootstrap中添加handler,启动后数据就安装添加的Handler顺序流动,Handler各自处理自己相关业务。显然在客户端已知的情况下这样是没毛病的,但在客户端未知的情况下,这就有点尴尬了。不同的设备(客户端)又有不同的协议,不同协议就要有不同的解码程序,所以常规的方式此时就不可用了。效果是这样的查看全文...原创 2020-09-17 14:22:25 · 694 阅读 · 0 评论