Вопрос

Здравствуйте, я верю, что мой Flash Client теряет некоторые пакеты, которые сервер отправляет, потому что некоторые пакеты объединяются, поэтому я считаю, что это бросает их.

Вот моя упаковка в 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 ...
   }
 }

Возможный пакет, который я понюхал, отправленный сервером, был.

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