如何为我的(基于Flash)浏览器的游戏实现COMET?

时间:2010-07-09 06:59:51

标签: flash comet long-polling browser-based

我目前正在尝试编写一个基于浏览器的游戏,允许多个用户在2D地图中导航。它是基于RPG的,并且需要COMET作为两个用户在一个屏幕上出现和交互的技术,如果它们恰好出现在同一帧中。

此外,在游戏中,我将地图嵌入SWF文件中,但当播放器进入我绘制的一些关键区域时,我正在使用HTTP请求从本地服务器获取数据。我正在考虑使用XMLSocket,但是想知道是否有一个库,或者除了XMLSocket之外的某种实现,它可以帮助我向多个浏览器推送或广播信息。

(BTw我对Flash和服务器 - 客户端交互相对较新,已经学习了大约4周......链接很有帮助!)

2 个答案:

答案 0 :(得分:1)

唯一真正的解决方案是Long-Polling或Streaming ...... BlazeDS实现了两者。

答案 1 :(得分:0)

  • 我听说Adobe支持数据推送BlazeDSLiveCycle Data Services。虽然LCDS是商业广告,但第一个是open-source。我没有使用它们中的任何一个,所以不能对性能或其他方面说些什么。
  • 使用XMLSocket要求用户打开相应的端口,该端口可能被防火墙阻止(有时是公司防火墙,用户没有任何控制权)。 (这甚至适用于BlazeDS和LCDS我相信)。
  • 您可以尝试使用良好的旧URLLoader + URLRequest组合,以固定的时间间隔轮询服务器以进行更新。如果您打算尝试长时间轮询(在发生事件之前暂停响应),请记住闪存在30秒后超时请求。