Python对amf的支持

Python通过第三方库对amf进行支持,支持常用的数据类型。
使用amf进行数据传输不用在为拼字符串而烦恼。已对象的方式传输,对程序更友好。
那先看下客户端的代码
var socket:Socket=new Socket();
socket.objectEncoding=ObjectEncoding.AMF3;
var obj:Object=new Object();
socket.writeObject(obj);
下面是接受端的代码
var obj:Object=this.bytesAvailable?this.readObject():new Object();
这样就可以接受服务器返回的对象了。
下面是具体的python端的代码,首先要导入twisted框架,支持很多socket模型
如select,icop等模型。
import os
import sys
EnumIOCP = ['nt']
EnumEPOLL = ['posix', 'mac', 'os2', 'ce', 'java', 'riscos']

if os.name in EnumIOCP:
from twisted.internet import iocpreactor
iocpreactor.reactor.install()
elif os.name in EnumEPOLL:
from twisted.internet import epollreactor
epollreactor.install()
rom twisted.internet.protocol import Factory,Protocol
from twisted.protocols.basic import LineReceiver
from twisted.internet import reactor

import pyamf

初始化的时候要指定设置amf
self.amfencoding=pyamf.AMF3
self.amfencoder=pyamf.get_encoder(self.amfencoding)
self.amfstream=self.amfencoder.stream
下面的代码是判断跨域文件,如果文件访问的域名下没有提供跨域文件,测直接仿照一个跨域文件。
def dataReceived(self, data):
if data=='<policy-file-request/>\0':
self.transport.write(SocketPolicyFactory.Policy_file)
else:
self.factory.sendAll(data,self)
下面是关键的发生到客户端的代码
def sendObjectToSWF(self,asobj):
self.amfstream.truncate()
self.amfencoder = pyamf.get_encoder(self.amfencoding)
self.amfencoder.writeElement(pyamf.ASObject(asobj))
self.transport.write(self.amfencoder.stream.getvalue())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP 解析 AMF(Action Message Format)可以使用 open-flash-remoting 扩展来实现。Open-flash-remoting 是一个用于 AMF 解析和处理的扩展,可以让 PHP 与 Flash 进行数据交互。 要解析 AMF 数据,首先需要安装 open-flash-remoting 扩展。可以通过以下步骤来完成安装: 1. 下载 open-flash-remoting 可执行程序(.dll 文件)对应的版本,确保与 PHP 的版本兼容。 2. 找到 PHP 安装目录下的 ext 文件夹,将下载的 .dll 文件复制到该文件夹中。 3. 打开 PHP 的配置文件(php.ini),找到并编辑以下行: ```ini ; Dynamic Extensions ; ... ; ... extension=php_open_flash remoting.dll ``` 4. 保存并关闭配置文件。 5. 重启 Web 服务器(例如 Apache)。 在成功安装了 open-flash-remoting 扩展后,就可以通过以下步骤来解析 AMF 数据: 1. 接收从 Flash 发送AMF 数据。 2. 使用 open-flash-remoting 扩展提供的函数,如 amf_decode(),来解析接收到的 AMF 数据。 3. 处理解析后的数据,根据数据类型和结构进行相应的操作,如存储到数据库、生成 HTML 内容等。 4. 将处理后的数据返回给 Flash 或其他需要的应用程序。 PHP 解析 AMF 数据的好处是,它可以实现更高效的数据交互,减少数据传输量和处理时间。AMF 是一种二进制格式,比起 XML 或 JSON 格式,AMF 的数据量更小,解析速度更快,适用于需要频繁传输大量数据的应用场景,如在线游戏、聊天应用等。 总之,通过安装 open-flash-remoting 扩展,我们可以在 PHP 中解析和处理 AMF 数据,实现高效的数据交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值