質問

こんにちは、フラッシュクライアントはサーバーが送信するパケットを失っていると思います。一部のパケットが結合されるため、ドロップすると思います。

これがフラッシュの私の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 ...
   }
 }

サーバーから送信された可能性のあるパケットは、それでした。

U:105.w。別名(75 3a 31 30 35 00 77 00)

そのため、待機中のパケットが入ってきませんでした。

このバグを修正するにはどうすればよいですか。xmlsocketを使用しています

役に立ちましたか?

解決

誰かが助けを必要とするならkこれはあなたがこれを行うことができることが判明しました

varパケット:array = data.split( " x00");

他のヒント

使う flash.net.Socket 代わりは。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top