如果不需要回退,使用WebSocket API而不是Socket.io是否有任何优势

时间:2014-06-29 05:14:37

标签: sockets websocket socket.io

我对socket.io有一些经验,之前我使用它的主要原因是在旧浏览器中有一个后备。目前我必须开发一个带有websockets的应用程序,它具有特定的浏览器要求。当我检查浏览器矩阵websocket support时,我发现我需要的所有浏览器都支持websockets。

所以现在我陷入两难境地。我应该坚持使用socket.io还是使用纯websockets实现它?当我检查websocket API时,我发现它非常简单。我对这个问题做了一个小小的研究,this question sounds similar,它的主要组成部分是与旧浏览器的兼容性(我不在乎)。

如果兼容性不是问题,那么socket.io有什么优势吗?

1 个答案:

答案 0 :(得分:1)

是的,有。即使在为新浏览器开发时,我也可以看到使用Socket.IO的3个优点:

首先,有防火墙(请参阅下面的评论),防病毒软件和阻止WebSockets的代理。在这种情况下,XHR回退对于确保所有用户的服务可用性非常有用。

其次,Socket.IO支持自动连接,因此您不必担心临时网络故障。

第三,有rooms and namespaces支持,这使得编写实时应用程序变得更加轻松和愉快。