默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
文章里说的乱序,其实是应用层的乱序。

TCP协议这一层肯定是有序的,但应用层因为异步、并发等等情况,放入TCP协议栈的业务数据本身就是乱序的,tcp协议栈一层当然是无感知的。
TCP协议它只保证把你业务层放入的数据,按帧序发过去,到于应用层是不是没按业务顺序放入,它没办法控制,想想就明白了。
评论 3
引用:cyc 发表于 2021-01-17 11:12
一般情况下,客户端都会有只用一条线程去处理收到的数据,那么这里就不存在并发的问题,因为是单线程处理 ...

乱序一般是服务端造成的,因为im的服务端都讲究高吞吐、高并发、异步,这些性能指标跟顺序本身就是矛盾的,而且成熟的系统里,加上关键词过滤等等处理,异步、高并发的情况下是很有可能发生乱序的
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部