Socket.io替代实时通信应用程序

时间:2013-08-14 07:16:10

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

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

我可以选择哪些替代方案?我试图寻找替代品。我遇到过pusher和pubnub等服务,但这些服务并不贵。有没有人尝试过亚马逊SNS,它适合这个吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

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

  1. 使用安全的websockets(wss://)
    但这也不能保证100%它会起作用。
  2. 使用socket.io的一个回退机制:Flash,Ajax,iFrame,JSONP,...
    有关详细信息,请参阅Configuring Socket.io

答案 1 :(得分:0)

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