我正在以 AMF 格式从 flash 接收编码数据,但我想在 php 中对其进行解码。
我不知道如何使用库https://github.com/silexlabs/amfphp-2.0/blob/master/Amfphp/Core/Amf/Serializer.php
我找不到指示如何对 AMF 编码消息进行简单解码的示例代码
我正在以 AMF 格式从 flash 接收编码数据,但我想在 php 中对其进行解码。
我不知道如何使用库https://github.com/silexlabs/amfphp-2.0/blob/master/Amfphp/Core/Amf/Serializer.php
我找不到指示如何对 AMF 编码消息进行简单解码的示例代码
我建议不要使用 Zend_Amf,它的编写考虑了一些神秘的误解,他们认为这是“架构”...... AMFPHP 仍然存在,并且由一些不太喜欢 Zend 的人维护http:// sourceforge.net/projects/amfphp/
这是他们的网站,其中包含有关如何设置的示例和说明等:http ://www.silexlabs.org/amfphp/
我曾经遇到过同样的问题,并解决如下。
您可以在 Flash 中使用 javascript base64 编码,而在 PHP 中可以使用 base64_decode 函数。我以前用过,效果很好。
看看nekoserver项目。它是用Haxe编写的 amfphp 的简化类似物。在那里您可以找到nekoserver.amf.io包,查看AmfDeserializer.hx
(读取元数据)和Amf3Reader.hx
(读取消息正文)。那里的一切都非常简单。好吧,我猜项目是用 Haxe 编写的这一事实对你来说不是很好,但你不应该害怕 Haxe 的语法与 Actionscript 语法非常相似。
另外我建议查看AMF 格式规范。
PS。我是否正确理解您需要 AMF3(而不是 AMF0)?
看看一个非常可靠的 PHP 扩展,用于编码/解码 AMF3 流,而无需使用纯 PHP 编码器/解码器 - https://github.com/neoxic/php-amf3