我试图通过actionscript 3中的套接字连接将对象传递给服务器。最好的方法是什么?
序列化更好吗? 或者我应该先编码然后将其作为字符串发送?
请帮我理解这个?
谢谢
答案 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。