Flash 如何通过 AMF 与服务器上的服务/脚本通信?
数据通过 TCP/IP 连接传输。有时会使用现有的 HTTP 连接,而在其他情况下,会为 AMF 数据打开新的 TCP/IP 连接。当打开 HTTP 或其他 TCP 连接时,可能会使用套接字接口。 AMF 肯定会通过某种 TCP 连接传输,而套接字接口实际上是打开这种连接的唯一方法。
传输的“数据”由 ECMA 脚本 (Javascript(tm)) 数据类型组成,例如“整数”、“字符串”、“对象”等。
关于如何将对象编码为二进制的技术规范,Adobe 发布了一个规范:AMF 3.0 Spec at Adobe.com
一般来说,使用 AMF 的客户端/服务器系统的工作方式是这样的:
- 客户端显示一些用户界面并打开到服务器的 TCP 连接。
- 服务器向客户端发送一些数据,客户端更新其用户界面。
- 如果用户发出命令,客户端会通过 TCP 连接向服务器发送一些数据。
- 继续执行步骤 2-3,直到用户退出。
例如,如果用户单击 UI 中的“发送邮件”按钮,则客户端代码可能会这样做:
公共类 UICommandMessage 扩展了 my.CmdMsg
{
公共函数 UICommandMessage(action:String, arg:String)
{
this.cmd = 动作;
this.data = 字符串;
}
}
然后:
UICommandMessage msg = new UICommandMessage("Button_Press", "Send_Mail");
server_connection.sendMessage(msg);
在服务器代码中,服务器正在监视连接以及传入的 AMF 对象。它接收消息,并将控制权传递给适当的响应函数。这称为“发送消息”。
有了更多关于你想要完成的事情的信息,我可以给你更多有用的细节。