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

Était-ce utile?

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
scroll top