PHP< ---> FLASH持久连接(数据流)

时间:2012-03-11 01:04:31

标签: php flash streaming amf persistent

背后的想法是一个与PHP服务器交互的多人浏览器游戏。

现在它的工作原理如下: 浏览器每秒都会对php脚本执行ajax调用,该脚本会检查所有内容并返回响应。 总而言之,它运行良好,但问题是浏览器在一段时间后过载(因为成千上万的ajax请求),它变得不可能再玩了。此外,延迟1秒以上也是如此。

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

  • 用户制作和操作
  • Javascript函数使用一些参数调用flash像素
  • Flash将请求发送到服务器
  • 服务器向所有其他Flash监听器(在线用户)“宣布”此操作
  • 收到服务器的响应
  • UI已更新

类似的东西。

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

我读到了不同的RTMP服务器以及smartfoxserver.com。购买其中任何一个都不是问题,但在我看来,它们为我的需求提供了太多(音频视频流等)。它们也不是基于PHP的。因此,使用RTMP服务器需要它在需要时启动PHP脚本。在用户可以无滞后地进行游戏之前,这也不是问题。

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

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

也许你们中的一些人已经遇到过这个问题,并且发现了一个解决方案或任何其他如何实现这一点的想法。

谢谢

P.S。 Google Wave在互动聊天中使用了类似的内容,当某个用户正在打字时,另一个用户可以实时看到这一点。

2 个答案:

答案 0 :(得分:2)

您可以在AS3中使用XMLSocket来建立socket connection with the PHP server

答案 1 :(得分:0)