繁体   English   中英

如何在Flash,XMLSocket中拆分数据包

[英]How to split packets in flash, 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.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。 aka(75 3A 31 30 35 00 77 00)

因此等待包永远不会进来。

我将如何解决此错误。我正在使用XMLSocket

K解决了是否有人需要帮助的事实,您可以这样做

var packets:Array = data.split(“ \\ x00”);

请改用flash.net.Socket

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM