Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么要使用Socket.io?_Node.js_Websocket_Socket.io - Fatal编程技术网

Node.js 为什么要使用Socket.io?

Node.js 为什么要使用Socket.io?,node.js,websocket,socket.io,Node.js,Websocket,Socket.io,我正在学习Node.js,目前正在学习WebSocket。据我所知,Socket.io旨在解决各种浏览器对WebSockets不一致的支持…如果您查看一下,WebSockets目前似乎几乎完全支持。有人能解释一下为什么在这种情况下我应该使用Socket.io而不是WebSockets吗 它为您提供了多种技术替代方案,以实现双向近时间通信(web套接字、ajax长轮询、flash等) 截至2013年3月,web套接字的支持率为61%。这不是“实际上已经满了” 它为您处理浏览器不一致和不同的支持级

我正在学习Node.js,目前正在学习WebSocket。据我所知,Socket.io旨在解决各种浏览器对WebSockets不一致的支持…如果您查看一下,WebSockets目前似乎几乎完全支持。有人能解释一下为什么在这种情况下我应该使用Socket.io而不是WebSockets吗

  • 它为您提供了多种技术替代方案,以实现双向近时间通信(web套接字、ajax长轮询、flash等)
  • 截至2013年3月,web套接字的支持率为61%。这不是“实际上已经满了”
  • 它为您处理浏览器不一致和不同的支持级别
  • (从角度来看,前两件事基本上与jQuery创造的价值相同)
  • 除了简单的web套接字之外,它还包括其他功能,例如对基本发布/订阅基础设施的房间支持,以及自动重新连接之类的功能
  • 至少在目前,它比普通的web套接字更受欢迎,也更容易获得帮助

  • 然而,就像对jQuery的憎恨者一样,如果你更喜欢直接使用官方标准的web socket API,那一定要让你自己出局。

    这不是我所说的完全支持imho,除非你不关心传统的台式机和移动浏览器,它们至少占西方世界已部署浏览器的一半,这将在未来5年内继续使用,并且永远不会支持websocket。这一点很好。我注意到Socket.io会根据您使用的浏览器来确定哪种连接方法最有效,并为您做到这一点。事实上,这可能就是答案。我相信如果你只是使用WebSockets,你必须自己找出所有的代码。明白了。是的,我刚刚意识到我完全读懂了卡努斯图表——我没有考虑到并不是每个人都在使用最新的浏览器:愚蠢的错误。谢谢你的意见!您关于jQuery(我使用的)的观点完全有道理。谢谢,老兄,评论不错。虽然在你回答这个问题后的两年里,很多东西都发生了变化,但我相信#4是最好的答案。如果您想使用普通套接字,请跳过套接字IO。如果你正在寻找一个更优雅的集成,去看看吧。当然,如果有人不同意,请随时纠正我!:)