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

标签 php flash streaming amf persistent

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

现在它的工作原理是这样的: 浏览器每秒都会对 php 脚本进行 ajax 调用,该脚本会检查所有内容并返回响应。 总而言之,它运行良好,但问题是浏览器在一段时间后会过载(因为数千个ajax请求),并且无法再玩了。而且 1 秒以上的延迟也相当多了。

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

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

类似的事情。

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

我了解了不同的 RTMP 服务器以及 smartfoxserver.com 。购买其中任何一个都不是问题,但在我看来,它们提供的功能太多了,无法满足我的需求(音频视频流等)。而且它们不是基于 PHP 的。因此,使用 RTMP 服务器需要在需要时启动 PHP 脚本。在用户可以无延迟地玩游戏之前,这也不是问题。

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

无论如何,如果找不到解决方案,我将使用相同的 Flash“像素”,它将通过 PHP AMF 发送请求并接收响应。它会有轻微的延迟,并且不会持续存在,但它应该可以解决部分问题。

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

谢谢

P.S.Google Wave 在交互式聊天中使用了类似的功能,当某些用户正在打字时,其他用户可以实时看到这一点。

最佳答案

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

关于PHP <---> FLASH长连接(数据流),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9651559/

相关文章:

php - DataTransformer - 将 DateTime 拆分为两个字段

actionscript-3 - Adobe 动画碰撞

javascript - 是否可以安全地将变量从 JavaScript 传递到 Flash 应用程序?

c# - 在 ASP.NET 中实现文件下载时如何处理我的文件流?

ios - 在 iOS 中使用解密流式传输分段数据

PHP "apc_store"和 "apc_fetch"未按预期工作

php - ORDER BY 部分字符串

php - 需要帮助显示动态表

html - 如何使用 OpenFL 将一个简单的 Flash 项目 "convert"转换为 HTML5

java - Hadoop 中的流式处理或自定义 Jar