+
95
-

swoole如何解决TCP粘包问题?

swoole如何解决TCP粘包问题?


网友回复

+
15
-

一、什么是粘包

TCP是字节流协议,数据传输像流水一样。数据发送者会存在一个发送缓冲区,每次可能会将多个数据包一次性发送出去,也可能是一个数据包拆分多次发出去;如果协议没有约定好分隔符或者不明确数据包大小边界,接收者就无法获取并正确解析数据包了,这就是常说的 粘包,下面结合swoole_server和自定义协议来详细说明。

二、 常见的自定义协议

1. 固定包大小

发送者和接收者约定数据包长度,适合需求较简单,消息类型固定的情况,灵活性很差。

2. EOF结束符

发送者和接收者约定数据包已一个特殊的结束符(EOF)做结尾。适合协议相对简单的需求,常...

点击查看剩余70%

我知道答案,我要回答