Netty粘包拆包

Netty粘包拆包
1、什么是粘包拆包?2、解决方案3、代码示例3.1、MyClient3.2、MyClientHandler3.3、MyServer3.4、MyServerHandler3.5、MyMessageDecoder3.6、MyMessageEncoder3.7、MyMessageProtocol

1、什么是粘包拆包?

粘包拆包一般是发生在TCP协议层的,TCP作为传输层一般不知道上层(这里指的是我们的代码业务层)数据的具体含义,它会根据TCP缓冲区 的实际情况进行数据包的划分,所以在业务上认为是一个完整的包,可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成 一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。面向流的通信是无消息保护边界的。 client发了两个数据包D1和D2,但是server端可能会收到如下几种情况的数据。如下图所示:

2、解决

Netty粘包拆包最先出现在Python成神之路

版权声明:
作者:siwei
链接:https://www.techfm.club/p/11929.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>