Come dividere i pacchetti in flash, XMLSocket
-
01-10-2019 - |
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
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