【发布时间】:2013-11-24 22:40:16
【问题描述】:
我希望使用 node.js 和可能的 socket.io 构建一个 Web 应用程序,但是对于是使用 socket.io 还是使用纯 http,我有很多困惑。在应用程序中,node.js 服务器基本上是一个 api 服务器,它为 javascript 客户端提供 json,或者也可能是移动客户端。该网络应用程序还将为其用户提供聊天信使,这就是 socket.io 的用武之地。
我不确定是否将 socket.io 用于整个应用程序或仅用于聊天部分。虽然我的应用程序本身可以从 socket.io 中受益,但我认为使用普通 http 和客户端向服务器发出更多请求是无法完成的。
我在几个地方读到过,socket.io 有时难以为更多用户扩展。
当客户端系统中有防火墙时,Socket.io 经常崩溃并特别创建问题。
更重要的是.....我查看了socket.io用户列表并没有找到很多用户,所以很想知道什么样的平台更了解像facebook messenger,google talk等聊天网络建立在,是否使用 http-ajax 构建并继续查询服务器。
请帮助我解决这个问题。有些人可能会争辩说这是一个基于意见的问题。但实际上我想弄清楚socket.io的实现及其限制。
【问题讨论】:
-
Socket.io 不会强制你使用 websocket。 Websockets 让你的应用程序实时,你可以使用任何其他支持的传输方式,jsonp 等。
-
@GeoPhoenix 是的,我明白这一点,但我在这里谈论的是 socket.io 和纯 http。仅在它们之间进行比较