Запись объектов в сокет в AS3 / actionscript? - PullRequest
2 голосов
/ 30 января 2010

Я пытаюсь передать объект на сервер через сокетное соединение в actionscript 3. Каков наилучший способ сделать это?

сериализация лучше? или я должен сначала закодировать его, а затем отправить в виде строки?

пожалуйста, помогите мне понять это?

спасибо

1 Ответ

2 голосов
/ 30 января 2010

Если ваш объект реализует IExternalizable и вы вызываете registerClassAlias, вы можете безопасно использовать readObject и writeObject. Однако обратите внимание, что при реализации IExternalizable параметры конструктора не допускаются.

Например:

package {
  import flash.net.*;
  import flash.utils.*;

  public class Foo implements IExternalizable {
    registerClassAlias("Foo", Foo);

    public var bar: String;

    public function Foo() { // No constructor parameters allowed.
    }

    public function writeExternal(output: IDataOutput): void { output.writeUTF(bar); }
    public function readExternal(input: IDataInput): void { bar = input.readUTF(); }
  }
}

После этого вы можете безопасно вызывать readObject и writeObject для любого IDataOutput или IDataInput, например, Socket, ByteArray или URLStream.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...