【问题标题】:Socket.io alternatives for real time communication applications用于实时通信应用程序的 Socket.io 替代方案
【发布时间】:2013-08-16 00:49:42
【问题描述】:

我已经构建了一个带有实时排行榜的多人游戏。游戏采用 PHP(后端)+ Flex(前端)。 我使用 socket.io 与 node.js 服务器进行实时通信。但是我在客户端网络配置上的代理设置方面面临很多问题。大多数时候,我的应用程序不与我的节点(套接字)服务器通信。由于代理配置,无法建立连接。

我可以选择哪些替代品?我试图寻找很多替代品。我遇到了 pusher 和 pubnub 之类的服务,但这些服务都不贵。有没有人用过Amazon SNS,适合吗?

谢谢!

【问题讨论】:

  • Node.js 服务器的角色从问题中不清楚。如果你的 PHP 后端和 Node.js 服务器之间的通信有问题,你可以使用 Redis 的 pub/sub 功能。

标签: node.js websocket socket.io real-time


【解决方案1】:

有SocketCluster:https://github.com/topcloud/socketcluster 它在多个 CPU 内核上运行,并且非常适合错误处理(工作人员自动重生)。它没有发现内存泄漏(只需确保使用最新版本的 Node.js)。

【讨论】:

    【解决方案2】:

    您无法通过代理连接的原因是 socket.io 正在使用 Web 套接字。请参阅Socket.io and firewall Software(该页面还包含一个测试 websocket 连接性的链接)。有很多方法可以缓解这个问题:

    1. 使用安全的 websockets (wss://)
      但这也不能保证 100% 有效。
    2. 使用 socket.io 的一种回退机制:Flash、Ajax、iFrame、JSONP、...
      如需更多信息,请参阅Configuring Socket.io

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-20
      • 2016-07-15
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多