tcp协议,一个客户端,瞬间爆发大量消息时,onMessage接受消息异常,或者Wokerman $con->send()返回消息异常

makes

我1秒内向服务端发送大量消息,每次正常的数据是这样{"header":"test","iframe":"..."},
但是大量消息发给服务端时,有时服务端会接受这样数据{"header":"test","iframe":"..."}{"header":"test","iframe":"..."}{"header":"test","iframe":"..."},这样瞬间onMessage接受多个客户端消息,或者返回消息也是同样

例如:返回消息
截图

正常应该只返回{"code":1,"msg":"success","data":{"task_id":"bb1c85de31bd0715a5e184d02a46305a7437195eeb2c0845a1b99015572821"}} 这样一个完整json,有时会把本应该给其它客户端发的消息会一起发给其它客户端

正常数据:
截图

1716 1 0
1个回答

walkor

TCP是基于流的,会有粘包问题。请参考手册添加通讯协议。
http://doc.workerman.net/protocols/why-protocols.html

如果你传递的是json数据,建议直接使用workerman的text协议或者frame协议。

  • 暂无评论
年代过于久远,无法发表回答
🔝