php - 客户端与服务器持续通信 PHP

标签 php javascript html websocket

我想制作一个简单的游戏(应用程序),网页浏览器游戏多人游戏,需要与服务器持续连接。
现在,我使用ajax和普通的php wamp服务器,但我认为这是错误的方法,因为我需要每秒从每个用户向服务器发送请求(用于更新)...这似乎是错误的..< br/> 我知道有很多 ape-project,但我需要一些用于 Windows 的东西(目前)
我还有什么选择? web-socket 有点棘手,很多旧浏览器都不支持,所以它不好......请帮忙,谢谢。

最佳答案

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

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

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

  1. Redis PubSub
  2. XMPP PubSub
  3. 如果您自己并不真正关心 PubSub 及其部署/工作/技术,请选择第三方服务提供商,例如 SuperFeedr , PusherApp , PubNub和别的。我认为市场上至少有 10 家这样的服务提供商。

您还需要一个将您的 pubsub channel 连接到浏览器上的客户端的传输(websocket 或在旧浏览器上为您模拟 websocket 的东西)。我想到的几个选项是:

  1. 使用 BOSH connection manager (长轮询)
  2. Socket.IO
  3. Sock.JS
  4. STOMP (面向流文本的消息传递协议(protocol))
  5. 如果您想使用免费开源软件 (FOSS),至少有 10 个这样的现成选项

希望对您有帮助。

关于php - 客户端与服务器持续通信 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11893001/

相关文章:

java - PHP 包含和 Java 导入声明之间的区别

javascript - Ajax 帖子未返回到帖子发送的页面

javascript - Codeigniter AJAX 数据返回空

javascript - 选择在javascript中的位置

php - 处理 HTML WYSIWYG 编辑器

PHP - 如果为空值

javascript - JavaScript 中的验证错误

javascript - 如何在 Bootstrap 中使选项卡可点击

javascript - Socket.io 与 require.js 异步且 io 未定义

javascript - 如何在浏览器窗口的边缘保留一个框?