客户端服务器常量通信PHP

时间:2012-08-09 22:35:58

标签: php javascript html5 websocket

我想制作一个简单的游戏(应用程序),网页浏览器游戏多人游戏,需要与服务器保持连接。
现在,即时通讯使用ajax和普通的PHP wamp服务器,但我认为这是错误的方式去,因为我需要每秒向服务器发送请求(更新)来自每个用户......这似乎是错误的.. <登记/> 我知道一些比比皆是的猿人项目,但我需要一些东西用于窗户(现在)
我有什么其他选择? web-socket有点棘手,很多旧浏览器都不支持,所以不好......请帮忙,谢谢。

1 个答案:

答案 0 :(得分:3)

在当今世界,有很多选择可供选择。您正在寻找的是PUSH语义而不是PULL,即您不希望从客户端(定期)POLL服务器获取新更新,但您希望服务器在客户端可用时将数据推送到客户端。

您应该查看Publisher-Subscriber工作流程,其中每个用户可以拥有一个渠道,其他用户可以在其中发布更新。然后,每个用户都会订阅它的频道以实时检索任何更新

市场上有很多现成的pubsub解决方案。我想到的一些是:

  1. Redis PubSub
  2. XMPP PubSub
  3. 如果你真的不关心PubSub本身及其部署/工作/技术,请选择SuperFeedrPusherAppPubNub等第三方服务提供商。我认为市场上至少有10家这样的服务提供商。
  4. 您还需要一个将pubsub通道连接到浏览器上的客户端的传输(websocket或在旧浏览器上为您模拟websocket的东西)。我想到的一些选择是:

    1. 使用BOSH connection manager(长轮询)
    2. Socket.IO
    3. Sock.JS
    4. STOMP(面向流式文本的消息传递协议)
    5. 如果您想使用免费和开源软件(FOSS),还有至少10个这样的可用现成选项
    6. 希望它对你有所帮助。