我试图找出一些纠缠在一个多应用程序,我已经建立。它使用 flosc 与xml socket服务器发送的多活动。

这所有的工作收和花花公子对多数的时间。

但是,如果我的意思是和洪水与多事件闪无法跟上分析的投入,并插座只是不断获得的数据堆积,直到它可以赶上或整个事情崩溃。

我没有问题,丢弃输入一旦有太多*但我有麻烦制定一个聪明的方式做到这一点。

*应用程序并6-10同时输入的与没有问题,事情开始变得毛茸茸的,一旦我们处理20多个这基本上意味着有人正躺在表;)

有帮助吗?

解决方案

它在哪儿窒息?首先,我要开始做一些分析。

配置文件的"服务":

  • 多少时间,它是把以做XML编码?
  • 多少时间,它是完全写到插座?

配置文件的客户:

  • 多少时间,它是把以读取的数据从插座?
  • 还有多少时间,它把解码XML?

个人对这样的事情,我将避免XML如果你可以,和/或试图偷懒解xml(这样做的时候你知道你需要它...所以你可以扔掉XML块,没有浪费cpu周期,如果你的计划是越来越超载).

我会试着去跟一个原Socket类 http://www.adobe.com/livedocs/flash/9.0/main/00000318.html#wp128960 和一个自定义包的格式,一系列其中每个指数包含相关数据。在psudocode:

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 序列化的数据,在线。

希望这会有所帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top