Socket.IO和延迟

时间:2014-12-18 16:16:06

标签: node.js websocket socket.io

构建NodeJS-Socket-IO应用程序,将Kinect设备的高清视频源流式传输到浏览器。大概有半秒的延迟是可以接受的。然而,这种延迟经常会持续几秒钟,但无法弄清楚原因。

这是否与Socket-IO正在协商的特定连接有关?据我了解,Sacket-IO将根据当前条件选择最佳连接。

减少此瓶颈的其他任何提示?

1 个答案:

答案 0 :(得分:0)

连接出现延迟峰值是完全正常的。您的方法的问题是数据永远不会被丢弃,因为它是通过一个漂亮可靠的TCP连接。您必须弄清楚如何在应用程序中处理它,可能是在方便编解码器的时候删除数据缓冲区。

关于选择最佳连接的评论...这与兼容性有关,而与延迟或其他任何事情无关。

与Wireshark之​​类的数据包嗅探器保持友好关系,以确切了解这些峰值发生时的情况。您的应用程序应该期望并且能够处理感知延迟的极端峰值。如果数据包丢失并重新传输,则会发生这种情况。

最好的办法是使用WebRTC等现有技术,以低延迟处理所有这些技术。