gpt4 book ai didi

python - AMF 通信如何工作?

转载 作者:太空狗 更新时间:2023-10-30 01:52:32 24 4
gpt4 key购买 nike

Flash 如何通过 AMF 与服务器上的服务/脚本通信?

关于 AMF libraries对于比 .NET/Java 更容易开发的 Python/Perl/PHP:

  • 每当 Flash 发送远程过程调用时,它们是否执行脚本文件?
  • 或者它们是否通过套接字与作为服务运行的脚本类进行通信?

关于典型的 AMF 功能:

  • 数据是如何传输的?是通过自动序列化的方法参数吗?
  • 服务器“push”如何给客户端? Flash 电影必须连接到 socket 上吗?

感谢您的宝贵时间。

最佳答案

我唯一熟悉的 AMF 库是 PyAMF ,到目前为止使用起来非常好。以下是 PyAMF 问题的答案:

  • 我想您可以将它作为脚本运行(您是说像 CGI 一样吗?),但最简单的 IMO 是专门为 AMF 请求设置一个应用服务器

  • 最简单的方法是在纯 python 中定义函数,PyAMF 包装这些函数以序列化传入/传出的 AMF 数据

  • 如果需要,您可以通过套接字进行通信,但同样,使用纯 Python 函数是最简单的;套接字的一种用途是保持打开的连接并将数据“推送”到客户端,请参阅 this例子

这是在 localhost:8080 上提供的三个简单 AMF 服务的示例:

from wsgiref import simple_server
from pyamf.remoting.gateway.wsgi import WSGIGateway

## amf services ##################################################

def echo(data):
return data

def reverse(data):
return data[::-1]

def rot13(data):
return data.encode('rot13')

services = {
'myservice.echo': echo,
'myservice.reverse': reverse,
'myservice.rot13': rot13,
}

## server ########################################################

def main():
app = WSGIGateway(services)

simple_server.make_server('localhost', 8080, app).serve_forever()

if __name__ == '__main__':
main()

我肯定会推荐 PyAMF。查看examples查看它的功能以及代码的外观。

关于python - AMF 通信如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1422724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com