开发中发现,pomelo不保证回包和推送的顺序,如何解决?

我在connector.js打印日志发现,回包和推送并不按代码顺序发给客户端,这样给开发带来很多不便,怎么解决呢?

标签: pomelo bug 反馈 建议与改进
samuelben 在 2017-6-3 12:47发布 分享到 weibo
5 回复
#1 samuelben 2017-6-3 17:05 回复

看了下源码,发现push用的是mqtt-mailbox.js里的doSend, 回包用的是mqtt-acceptor.js里的doSend。而这两者的socket对象居然不是一个!也就是说connector和logic之间 互相通信的是两个连接,一个connector》logic,一个logic》connector,那我们开发者就不能通过逻辑代码控制push和response的顺序啊

#2 samuelben 2017-6-5 12:41 回复

遇到这种对顺序要要求的,谁有好的解决方案?

#5 {2} zxc122333 2017-6-13 23:53 回复
xymeng 2017-6-14 20:11 回复

哇塞,我想问,push和push的先后顺序能保证吧?
具体是:在一个room里,每个client发送action给后端server,后端server把action push给其他client。能够保证所有client收到的action顺序相同吧?

samuelben 2017-6-15 11:59 回复

你现在实现了rpc合成一个连接吗?
我的需求其实是想让push在response以后到达,和你的相反

回到顶部