代码之家  ›  专栏  ›  技术社区  ›  SSpoke

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

  •  0
  • SSpoke  · 技术社区  · 14 年前

    这是我的flash包处理程序

      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 ...
       }
     }
    

    我嗅到的可能是服务器发送的数据包。

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

    我该如何去修复这个bug。。我正在使用XMLSocket

    2 回复  |  直到 14 年前
        1
  •  1
  •   SSpoke    14 年前

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

    变量数据包:数组=数据.split(“\x00”);

        2
  •  0
  •   Florent Joice    12 年前

    使用 flash.net.Socket 相反。