我对socket.io有一些经验,之前我使用它的主要原因是在旧浏览器中有一个后备。目前我必须开发一个带有websockets的应用程序,它具有特定的浏览器要求。当我检查浏览器矩阵websocket support时,我发现我需要的所有浏览器都支持websockets。
所以现在我陷入两难境地。我应该坚持使用socket.io还是使用纯websockets实现它?当我检查websocket API时,我发现它非常简单。我对这个问题做了一个小小的研究,this question sounds similar,它的主要组成部分是与旧浏览器的兼容性(我不在乎)。
如果兼容性不是问题,那么socket.io有什么优势吗?
答案 0 :(得分:1)
是的,有。即使在为新浏览器开发时,我也可以看到使用Socket.IO的3个优点:
首先,有防火墙(请参阅下面的评论),防病毒软件和阻止WebSockets的代理。在这种情况下,XHR回退对于确保所有用户的服务可用性非常有用。
其次,Socket.IO支持自动连接,因此您不必担心临时网络故障。
第三,有rooms and namespaces支持,这使得编写实时应用程序变得更加轻松和愉快。