它在哪里窒息?首先,我会先做一些分析。
配置“服务器”:
- 进行 XML 编码需要多少时间?
- 完全写入套接字需要多少时间?
描述客户:
- 从套接字读取数据需要多少时间?
- 解码 XML 需要多少时间?
就个人而言,如果可以的话,我会避免使用 XML,和/或尝试对 xml 进行延迟解码(当你知道你需要它时这样做......所以如果你的程序是,你可以丢弃 XML 块而不会浪费 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通过网络对数据进行序列化。
希望这可以帮助。