我想做一个简单的游戏(应用程序),网络浏览器游戏多人游戏,需要与服务器保持持续连接。
现在,我使用 ajax 和普通的 php wamp 服务器,但我认为这是错误的方式,因为我需要每秒从每个用户向服务器发送请求(更新)......这似乎是错误的......
我知道一些猿项目,但我需要一些Windows(现在)
我还有什么其他选择?web-socket 有点棘手,很多旧浏览器都不支持,所以它不好......请帮助,并在此感谢。
问问题
2193 次
1 回答
3
在当今世界,有大量的选项可供您使用。您正在寻找的是 PUSH 语义而不是 PULL 即您不想从客户端(定期)轮询服务器以获取新更新,但您希望服务器在数据可用时将数据推送到客户端。
您应该查看发布者-订阅者工作流程,您可以在其中每个用户拥有一个频道,其他用户可以在那里发布更新。然后每个用户将订阅其频道以实时检索任何更新
市场上有很多现成的 pubsub 解决方案。我想到的几个是:
- Redis 发布订阅
- XMPP 发布订阅
- 如果您自己并不真正关心 PubSub 及其部署/工作/技术,请选择SuperFeedr、PusherApp、PubNub等第三方服务提供商。我认为市场上至少有 10 家这样的服务提供商。
您还需要一个传输,将您的 pubsub 通道连接到浏览器上的客户端(websocket 或在旧浏览器上为您模拟 websocket 的东西)。我想到的几个选项是:
- 使用BOSH 连接管理器(长轮询)
- 套接字.IO
- 袜子.JS
- STOMP(面向流文本的消息传递协议)
- 如果您想使用免费和开源软件 (FOSS),那么至少有 10 个可用的现成选项
希望它可以帮助你。
于 2012-08-11T07:33:11.350 回答