2012-03-11 49 views
2

背后的想法是一个多人游戏浏览器,它与PHP服务器交互。PHP <--->闪存持久连接(数据流)

现在它的工作原理是这样的: 浏览器每秒钟都会对php脚本执行一次ajax调用,它会检查所有内容并返回响应。总而言之,它运行良好,但问题在于浏览器在一段时间后会因为成千上万的ajax请求而被重载,并且无法再播放。此外,延迟1+秒也非常多。

我的想法是有一个简单的闪光灯像素,它将与服务器进行双向通信。 例如:

  • 用户制作和行动
  • JavaScript函数调用的一些参数闪光灯像素
  • 闪光灯将请求发送到服务器
  • 服务器“公布”关于这个行动的所有
  • 接收到来自服务器的响应其他闪光听众(用户在线)
  • UI更新

类似的东西。

发送和接收的数据可以是字符串(json)或任何其他数据。

我读了关于不同的RTMP服务器,也有关于smartfoxserver.com。购买任何产品都不是问题,但在我看来,他们提供了太多的需求(音频视频流等)。他们也不是基于PHP的。因此使用RTMP服务器需要它在需要时启动PHP脚本。在用户没有滞后之前,这也不是问题。

如果解决方案是安装RTMP服务器,PHP中有一个“RTMP client”,但不幸的是没有太多关于它的信息/文档。

在任何情况下,如果找不到解决方案,我将使用相同的Flash“像素”,它将发送请求并通过PHP AMF接收响应。它会有小的延迟,不会持久,但它应该解决问题的一部分。

也许你们中的一些人已经有这个问题,并找到了解决方案或任何其他想法如何实现这一点是受欢迎的。

谢谢

附: Google Wave在他们的交互式聊天中使用了类似的东西,当一些用户正在打字时,另一个用户可以实时看到。

回答