接收分包消息,onMessage会在本次消息没有处理完又去处理下一个消息吗?

gezi

问题描述

TCP协议,接收分包消息,onMessage会在本次消息没有处理完又去处理下一个消息吗?

为此你搜索到了哪些方案及不适用的原因

因为我手动处理了分包跟粘包信息,我担心在我还在处理这个分包消息的时候下一个分包消息又过来了,假如这样的事情发生,有可能影响到数据的完整性,请问这种情况会发生吗?

701 1 0
1个回答

admin

https://www.workerman.net/doc/workerman/tcp-connection/on-buffer-full.html

可以了解下 缓冲区概念,即取就没

step1 : (package1package2pac) (kage3)
step2 : return 6; 取 (package1), 缓冲区剩下 (package2pac)(kage3)
.....
step4. : 继续 return 6;取 (package3)

onMessage会在本次消息没有处理完又去处理下一个消息吗?

看进程数量,如果1进程,一定是阻塞顺序同步运行,如果是gatewayWorker就看business数量

  • gezi 2023-08-26

    如果自定义协议,在这里处理好分包粘包逻辑就不用考虑这种情况了吧

  • admin 2023-08-27

    和着你一点都没看我发的,你自己慢慢摸索

年代过于久远,无法发表回答
×
🔝