利用amfext和actionscript进行通信

事实上amfext主要提供了两个函数,一个是amf_encode,一个是amf_decode,而ByteArray中提供的IDataOutput和IDataInput提供的readObject和writeObject是AMF编码的。而amfext的编码在第一个byte指定了当前模块的类型,而ByteArray的实现并没有这个定义,因此需要将它给删除掉。所以ActionScript里需要var bytes:ByteArray = new ByteArray(); bytes.objectEncoding = ObjectEncoding.AMF3; bytes.writeByte( 0x11 ); bytes.writeObject({ myString: "Hello World" });

来读数据,用var bytes:ByteArray = new ByteArray(); bytes.objectEncoding = ObjectEncoding.AMF3; trace( bin2hex( evt.target.data )); bytes.writeUTFBytes( evt.target.data ); bytes.position = 0; bytes.readByte(); var obj:Object = bytes.readObject();

你可能感兴趣的:(利用amfext和actionscript进行通信)