如题,我测试了下因消息队列满而丢弃消息,和客户端上线后接收消息队列的消息。假设消息队列大小是2,发送消息内容和顺序是:1,2,3。另一个客户端上线后接收到的消息是1和2,并且1和2的顺序不一定。
发现和B站视频有两个区别:
- B站视频中,接收的消息应该是2和3,但我这边是1和2,是丢弃了消息队列满了之后的消息,而不是将队列头部的消息丢弃。
- 接收的顺序,我这边接收的1和2之后,在MQTTX上显示的顺序是随机的,不清楚是接收时开并发了还是显示顺序随机?接收的两条消息时间是一样的。
非常细,我就是在做视频的时候发现了这个 bug,然后修好了。
在 v5.8.5上修的,你可以用最新版本。