如何在flash、XMLSocket中拆分数据包

如何在flash、XMLSocket中拆分数据包,flash,actionscript,split,packet,xmlsocket,Flash,Actionscript,Split,Packet,Xmlsocket,你好,我相信我的flash客户端丢失了服务器发送的一些数据包,因为一些数据包连接在一起,所以我相信它会丢弃它们 这是我在flash中的packetHandler private var xmlsock:XMLSocket; this.xmlsock = new XMLSocket(); xmlsock.connect("127.0.0.1", 1234); this.xmlsock.addEventListener(DataEvent.DATA, this.packetHandl

你好,我相信我的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 ...
   }
 }
private-var-xmlsock:XMLSocket;
this.xmlsock=新的XMLSocket();
xmlsock.connect(“127.0.0.1”,1234);
this.xmlsock.addEventListener(DataEvent.DATA,this.packetHandler);
公共函数packetHandler(事件:DataEvent):void{
var数据包:字符串=event.data;
var args:Array=packet.split(“:”);
如果(args.length=2)
调用(“userCount”,args[1]);
打破
//…等处理程序。。。
}
}
我嗅探到服务器发送的一个可能的数据包被删除了

u:105.w。aka(75 3A 31 30 35 00 77 00)

所以等待的包裹再也没有进来


我将如何着手修复此错误。。我使用的是XMLSocket

使用的是
flash.net.Socket

K如果有人需要帮助,你可以这样做


var数据包:数组=data.split(“\x00”)

不是真的,你还能用XMLSocket吗?您可以构建自己的服务器。但有时当数据包被刷新时,它们会合并成一个数据包,所以需要按空字节对它们进行拆分