gpt4 book ai didi

Flash XML 套接字阻塞

转载 作者:行者123 更新时间:2023-12-03 12:06:55 25 4
gpt4 key购买 nike

我正在尝试解决我构建的多点触控应用程序中的一些问题。它使用 flosc与发送多点触控事件的 xml 套接字服务器进行通信。

在大多数情况下,这一切都很好而且花花公子。

但是,如果我的意思是多点触控事件,Flash 无法跟上解析输入的速度,并且套接字只会不断获取堆积的数据,直到它 catch 或整个事情崩溃。

一旦输入太多*,我就可以丢弃输入,但我无法设计一种聪明的方法来做到这一点。

* 该应用程序可以同时进行 6-10 个输入,没有问题,一旦我必须处理 20+ 个,事情就开始变得毛茸茸,这基本上意味着有人躺在 table 上;)

最佳答案

它在哪里窒息?首先,我会先做一些分析。

配置“服务器”:

  • 进行 XML 编码需要多少时间?
  • 完全写入套接字需要多少时间?

  • 描述客户:
  • 从套接字读取数据需要多少时间?
  • 解码 XML 需要多少时间?

  • 就个人而言,如果可以的话,我会避免使用 XML,和/或尝试对 xml 进行延迟解码(当你知道你需要它时这样做......所以如果你的程序是,你可以丢弃 XML block 而不会浪费 cpu 周期重载)。

    我会尝试使用原始 Socket 类 http://www.adobe.com/livedocs/flash/9.0/main/00000318.html#wp128960和自定义数据包格式,每个索引包含相关数据的数组。在伪代码中:
    messageArray = [message type, arg0, arg1, arg2...];

    所以你可能有一个'鼠标移动事件'定义如下:
    MessageConstants.MOUSE_MOVE = 0; // or whatever id you want

    messageArray = [MessageConstants.MOUSE_MOVE, mouseDeltaX, mouseDeltaY];

    然后使用 AMF http://en.wikipedia.org/wiki/Action_Message_Format通过网络对数据进行序列化。

    希望这可以帮助。

    关于Flash XML 套接字阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2229237/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com