我正在使用socket.io
向浏览器发送消息。在node.js方面,我正在做
socket.emit('message', data);
在浏览器端我正在做
socket.on('message', handleData);
现在这很好用。出于测试目的,我手动触发{来自节点检查器控制台)socket.emit()
。我能够做2-3次这样的事情,之后下一条消息需要很长时间才能完成。大约10秒钟。
我的消息很短。已启用压缩,对象为JSON {"could be about": "this long"}
。使用较长的字符串进行测试时,会立即发送所有消息。所以这与缓冲/优化有关,但在我们的例子中,所有消息都是立即发送的。
有没有人对此延迟有任何见解?感谢
答案 0 :(得分:1)
我有同样的问题。 尽管已经有好几年了,但这些技巧对其他有问题的人还是有用的。
How To Cancel, Timeout, or Clear Queued Messages In Socket.IO
https://github.com/feathersjs/feathers/issues/1532
socket.on('connect',function(){ socket.sendBuffer = []; // 做东西 });
socket.on('reconnect',function(){ socket.sendBuffer = []; });