Domanda

Ciao Credo che il mio client Flash sta perdendo alcuni pacchetti il ??server invia, perché alcuni pacchetti vengono unite quindi credo che li lascia cadere.

Ecco il mio packetHandler 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 ...
   }
 }

Una possibile pacchetto Annusai inviato dal server è stato.

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

in modo che il pacchetto di attesa non è mai entrato in.

Come posso fare per correggere questo bug .. Sto usando XMLSocket

È stato utile?

Soluzione

K risolto se qualcuno ha bisogno di aiuto con questo risulta si può solo fare questo

var pacchetti: Array = data.split ( "\ x00");

Altri suggerimenti

Usa un flash.net.Socket invece.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top