我完全同意 Adrian 的观点,即 ActionScript 中的服务器端代码会很糟糕,Java 在语法上不会那么远会好得多:热点 JIT、多线程、具有许多高度优化的服务器端组件。
话虽如此:XML Socket 为您提供了一个已解析的 XML,但通过网络传输的内容仍然只是作为文本的 XML。所以在性能方面,它与使用常规套接字并自己解析是一样的。这可以很简单:
var text: Object = <data received>
var xml: XML = new XML(text);
因此,一旦您收到完整的 xml 有效负载,您就可以开始使用了。
如果您认为 XMLSocket 可以在解析之前获得完整的 XML,那么我做了一些 XML Socket 的工作,并以两个或更多片段的形式交付 XML,并且必须自己处理它,她举了一个例子:
...
private var xmlData: String = "";
private var errorCount: int;
...
private function dataHandler(e: DataEvent): void {
if (errorCount > 2) {
errorCount = 0;
xmlData = "";
}
try {
xmlData += e.data;
processMessage(XML(xmlData));
// valid XML, clear the buffer
xmlData = "";
} catch (error: Error) {
// otherwise log error and wait for the rest of the XML
log.error(error.toString());
log.error(e.data);
errorCount++
}
}