egg
egg copied to clipboard
【问题】 egg-socket.io如何异步并行发送消息?
场景:
我使用egg-socket.io作为服务端,使用socket.io-client做为客户端,实现的一个即时通讯程序, 发送文本,图片,文件等各种消息都是正常的。
问题:
当我在客户端A向客户端B进行分片发送大文件时,在文件未发送完时,A再次发出的其他消息别人就收不到,被阻塞了,
只有当发送的文件完成之后,别人才能收到A后续发过来的消息,
个人认识
感觉这应该就是消息发送是串行同步的,而我希望能够并行异步,不会因为前面的消息没法送完成就被阻塞,在官网上找了下,没发现如何让消息异步不阻塞,希望各位大佬能够指点下,万分感谢!
相关环境信息
"egg": "^2.15.1",
"egg-socket.io": "^4.1.6",
socket.io-client:socket.io-client@2
这个和 egg 无关,是 socket.io 本身使用的话题。
好的,谢谢^_^,我在研究研究 @ngot
@ngot 这个问题已解决 在socket.io官网上没找到相关实现,于是我重写了socket.emit方法, 写了个消息队列,实现了消息异步不阻塞 ,实现了我的需求