node.js - socket.io websocket 回退

标签 node.js websocket socket.io

我想将 dotcloud 与 node.js + socket.io 一起用于实时应用程序。

但是他们不支持 websockets。

纯粹依赖回退是否会导致带宽或性能明显下降?

使用我自己的服务器值得吗? Linode 或 aws 或诸如此类的东西。

谢谢。

最佳答案

我正在实现一个完全依赖于 websocket 的即时消息系统。由于 web 发展非常快,websocket 是 web 标准,我决定对默认不支持它的任何浏览器(Firefox、Opera)使用 flash websocket 回退。以下是您可能想知道的内容:

  1. 我使用网络套接字。我用 pure websocket server .我不使用任何其他协议(protocol)。我不使用 socket.io。我必须说,如果您决定只使用 websocket,您将无法从 socket.io 库中获益,甚至是开发时间。由于支持多个传输层,它只会给您的服务器增加不必要的开销。

  2. 在客户端,我使用 websocket + flash websocket fallback它使用闪存套接字实现 websocket 规范,我会说没有明显的区别。您唯一应该知道的是,由于“同源策略”,您可能需要自己提供闪存套接字策略请求(默认情况下在端口 843 上运行)以允许闪存套接字连接。

  3. 我们目前正在使用私有(private)服务器,因为我们有专门的系统管理员。然而,如果你能专注于做你想做的事,而不是做不想要的事情,那就更好了。哦,有时候,如果您能完全控制自己的服务器会更好:-)。

希望对您有所帮助。

关于node.js - socket.io websocket 回退,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6140879/

相关文章:

node.js - 使用 HTTP 基本身份验证保护 API

node.js - 如何在单页应用程序中保持 session 变量在 Express 和 Socket.io 之间同步?

Node.js API REST 安全性

javascript - 引用错误: Cannot access 'Player' before initialization

java - Play 2.1。 WebSocket 没有 EntityManager 绑定(bind)到这个线程

javascript - 在回合制游戏中使用 socket.io 和 Nodejs 传递回合

websocket - FastAPI websocket ping/pong超时

node.js - 使用 socket.io 配置 Express 4.0 路由

websocket - 使用 websockets 和 SocketIO 防止 'heartbeat timeout'

android - 主机名未经过验证 ANDROID