代码之家  ›  专栏  ›  技术社区  ›  Nizzy

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

  •  2
  • Nizzy  · 技术社区  · 15 年前

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

    序列化更好吗? 还是应该先对其进行编码,然后将其作为字符串发送?

    请帮助我理解这一点?

    谢谢您

    1 回复  |  直到 15 年前
        1
  •  2
  •   Joa Ebert Emran    15 年前

    如果您的对象正在实现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或IDataInOut上的readObject和writeObject,例如socket、bytearray或urlstream。