【发布时间】:2016-12-09 06:44:21
【问题描述】:
我想用nodejs实时开发一个messenger web应用程序,我想知道websocket和socket.io对于服务器和客户端的最佳选择是什么。我关心的是性能,就像我在两者中都使用websocket服务器和客户端或 socket.io 性能更好。谢谢 谢了。
【问题讨论】:
标签: node.js websocket socket.io
我想用nodejs实时开发一个messenger web应用程序,我想知道websocket和socket.io对于服务器和客户端的最佳选择是什么。我关心的是性能,就像我在两者中都使用websocket服务器和客户端或 socket.io 性能更好。谢谢 谢了。
【问题讨论】:
标签: node.js websocket socket.io
socket.io 建立在WebSocket 之上。所以它不可能比WebSocket 更快。我认为socket.io 到WebSocket 的作用与jQuery 到Javascript 的作用非常相似。当WebSocket 不可用时,socket.io 有备用解决方案。所以基本上,它支持更多的浏览器。我个人更喜欢使用WebSocket 而不是socket.io。这不是因为性能优势,实际上是对应用程序架构的更多控制。
【讨论】:
socket.io 强制您使用event 模型来传递消息。我个人认为这不是一个好的架构选择。
不要将Websockets 与socket.io 进行比较,Websocket 是一个协议,而socket.io 是一个使用Websocket 作为其协议之一的套接字框架(javascript)。 Socket.io(客户端)将在支持时使用 Websocket 进行通信,作为后备,当客户端设备不支持 Websocket 时,它将使用老式的 polling 方法。
【讨论】:
websocket 是一个协议,socket.io 是一个使用websocket 作为其协议之一的框架。 socket.io 使用websocket api 连接/发送/接收数据,socket.io 通过它自己的api 更容易使用websocket api。