Comment diviser les paquets en flash, XMLSocket
-
01-10-2019 - |
Question
Bonjour, je crois que mon client flash est en train de perdre certains paquets le serveur envoie, parce que certains paquets se sont joints ensemble, je crois donc qu'il les laisse tomber.
Voici mon packetHandler en 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 ...
}
}
Un paquet possible, je renifla envoyé par le serveur était.
u: 105.w. aka (75 3A 31 30 35 00 77 00)
le paquet d'attente est venu jamais.
Comment puis-je aller sur la fixation de ce bug .. J'utilise XMLSocket
La solution
K résolu si quelqu'un a besoin d'aide avec ce tour à tour sur vous pouvez juste faire
paquets var: Array = data.split ( "\ x00");
Autres conseils
Utilisez un flash.net.Socket
à la place.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow