背后的想法是一个与PHP服务器交互的多人浏览器游戏。
现在它的工作原理如下: 浏览器每秒都会对php脚本执行ajax调用,该脚本会检查所有内容并返回响应。 总而言之,它运行良好,但问题是浏览器在一段时间后过载(因为成千上万的ajax请求),它变得不可能再玩了。此外,延迟1秒以上也是如此。
我的想法是拥有一个简单的闪存像素,它将与服务器进行双向通信。 例如:
类似的东西。
发送和接收的数据可以只是字符串(json)或任何其他数据。
我读到了不同的RTMP服务器以及smartfoxserver.com。购买其中任何一个都不是问题,但在我看来,它们为我的需求提供了太多(音频视频流等)。它们也不是基于PHP的。因此,使用RTMP服务器需要它在需要时启动PHP脚本。在用户可以无滞后地进行游戏之前,这也不是问题。
如果解决方案是安装RTMP服务器,PHP中有一个“RTMP client”,但遗憾的是没有太多关于它的信息/文档。
在任何情况下,如果没有找到解决方案,我将使用相同的Flash“像素”,它将通过PHP AMF发送请求和接收响应。它会有很小的延迟并且不会持久,但它应该解决问题的一部分。
也许你们中的一些人已经遇到过这个问题,并且发现了一个解决方案或任何其他如何实现这一点的想法。
谢谢
P.S。 Google Wave在互动聊天中使用了类似的内容,当某个用户正在打字时,另一个用户可以实时看到这一点。
答案 0 :(得分:2)
您可以在AS3中使用XMLSocket来建立socket connection with the PHP server。
答案 1 :(得分:0)
rtmfp的设计完全符合您的要求。 http://www.adobe.com/products/flash-media-enterprise/rtmfp-faq.html