【发布时间】:2011-04-04 15:39:53
【问题描述】:
您好,我相信我的 flash 客户端丢失了服务器发送的一些数据包,因为一些数据包连接在一起,因此我相信它会丢弃它们。
这是我在 flash 中的 packetHandler
private var xmlsock:XMLSocket;
this.xmlsock = new XMLSocket();
xmlsock.connect("127.0.0.1", 1234);
this.xmlsock.addEventListener(DataEvent.DATA, this.packetHandler);
public function packetHandler(event:DataEvent):void {
var packet:String = event.data;
var args:Array = packet.split(":");
if(args.length <= 0) return;
switch(args[0]) {
case 'w': //waiting
ExternalInterface.call("waiting");
break;
case 'u': //user count
if(args.length >= 2)
ExternalInterface.call("userCount", args[1]);
break;
//... etc handlers ...
}
}
我嗅探到的可能是服务器发送的数据包。
你:105.w。又名 (75 3A 31 30 35 00 77 00)
所以等待的数据包永远不会进来。
我将如何修复这个错误.. 我正在使用 XMLSocket
【问题讨论】:
-
其实不然,您还能如何使用 XMLSocket?你建立自己的服务器。但有时当数据包被刷新时,它们会合并为一个数据包,因此需要将它们按空字节拆分
标签: flash actionscript split packet xmlsocket