在AS3 / actionscript中将对象写入套接字?

时间:2010-01-30 12:23:43

标签: actionscript-3

我试图通过actionscript 3中的套接字连接将对象传递给服务器。最好的方法是什么?

序列化更好吗? 或者我应该先编码然后将其作为字符串发送?

请帮我理解这个?

谢谢

1 个答案:

答案 0 :(得分:2)

如果您的对象正在实现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(); }
  }
}

然后,您可以安全地在任何IDataOutput或IDataInput上调用readObject和writeObject,例如Socket,ByteArray或URLStream。