【问题标题】:adobe air desktop app - constant comunication with serveradobe air 桌面应用程序 - 与服务器的持续通信
【发布时间】:2012-12-06 09:12:36
【问题描述】:

需要弄清楚如何在 AS 3.0 中打开与服务器的连接并监听来自客户端应用程序的不断变化。

这是我在这里的第一篇文章,所以请稍等片刻。

我正在尝试开发一种基本上可以由多个玩家在家里同时玩的在线游戏,方法是将我目前正在使用的客户端安装到他们的机器上。现在,我设置服务器没有问题,因为它设置为在询问时提供 XML,例如(gamenumber、maxplayers、currentplayers)。我选择 Adob​​e Air 进行客户端开发。当客户端在 PC 上打开时,它会与服务器连接并检索上面的 XML 示例,然后显示在主窗口中。问题来了……假设我有 2 个玩家,每个玩家都在我的网站上注册的不同位置。应用程序如何与服务器通信,以便当玩家 1 从应用程序中选择并打开游戏,并且玩家 2 加入该游戏时,玩家 1 电脑上的客户端会自动更新......此外,一旦游戏开始,玩家 1 需要一些游戏中的动作(按一些按钮),玩家 2 看到了。我知道我可以使用计时器或 pollintervals,例如让客户端每隔“n”秒从服务器请求一次游戏状态,但我正在寻找一种更具流动性的解决方案。例如,让应用程序不断地监听服务器的变化。在应用程序中实现 node.js 之类的东西(可能是一个愚蠢的想法)。当涉及到有限数量的连接和数据大小时,轮询和计时可以正常工作,但如果您有数千个或更多,您需要一个服务器场或其他解决方案。我不认为我会有数千个连接,但是当我开发应用程序时,我意识到它需要从服务器中提取的数据会随着我的每一个新想法而增加。所以......有什么想法吗?我真的不想从 Adob​​e Air 切换到其他东西,但我愿意接受建议。

【问题讨论】:

  • 好问题。但是,您在开始之前写了一个很长的故事。如果您先提出问题,然后添加有关该问题的更多详细信息,它会更好读。下次你可以试试。
  • 谢谢,下次我会记住的。
  • 也许这有帮助? arthurnn.com/blog/2010/12/09/…
  • 研究广播技术。

标签: actionscript-3 air


【解决方案1】:

嗯,我找到了我的问题的答案,但不完全是一个解决方案。为了在空中应用程序和服务器以及其他客户端之间保持双向开放通道,我需要用 php、java、c++、python 或其他语言编写自己的 XMLSocket 服务器,并使用 XMLSocket(); Flex 中的功能。我设法在这里找到了另一个例子:http://www.kilometer0.com/blog/code/php-xml-socket-server/。对于那些像我一样希望开发广泛平台的人来说,它仍然不是答案,因为 php XMLSock 仍然无法处理那么多连接。此外,当我继续阅读时,我发现它比一般的 http 网站要复杂一些,因为您需要根据您的桌面应用程序构建您的套接字服务器。一个好的解决方案似乎是用 C++ 编写你的套接字服务器,因为它可以很好地处理错误和大量的连接。谢谢大家的指点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多