Как Flash взаимодействует со службами / скриптами на серверах через AMF?
Данные передаются через соединение TCP / IP. Иногда используется существующее HTTP-соединение, а в других случаях открывается новое TCP / IP-соединение для данных AMF. Когда HTTP или дополнительные соединения TCP открыты, вероятно, используется интерфейс сокетов. AMF определенно путешествует через какое-то TCP-соединение, и интерфейс сокетов - практически единственный способ открыть такое соединение.
Передаваемые «данные» состоят из типов данных сценария ECMA (Javascript (tm)), таких как «целое число», «строка», «объект» и т. Д.
Для технической спецификации того, как объекты кодируются в двоичном формате, Adobe опубликовала спецификацию: AMF 3.0 Spec на Adobe.com
Обычно система клиент / сервер, использующая AMF, выглядит примерно так:
- Клиент отображает некоторый пользовательский интерфейс и открывает TCP-соединение с сервером.
- Сервер отправляет некоторые данные клиенту, который обновляет его пользовательский интерфейс.
- Если пользователь выполняет команду, клиент отправляет некоторые данные на сервер по TCP-соединению.
- Продолжайте шаги 2-3, пока пользователь не выйдет.
Например, если пользователь нажимает кнопку «отправить почту» в пользовательском интерфейсе, код клиента может сделать это:
public class UICommandMessage extends my.CmdMsg
{
public function UICommandMessage(action:String, arg: String)
{
this.cmd = action;
this.data = String;
}
}
Потом позже:
UICommandMessage msg = new UICommandMessage("Button_Press", "Send_Mail");
server_connection.sendMessage(msg);
в коде сервера, сервер также контролирует соединение для входящего объекта AMF. Он получает сообщение и передает управление соответствующей функции ответа. Это называется «отправка сообщения».
С более подробной информацией о том, чего вы пытаетесь достичь, я мог бы дать вам более полезную информацию.