ГлавнаяСправка по использованию серверного ActionScriptКласс NetConnection › NetConnection.call()

NetConnection.call()

nc.call(methodName, [resultObj [, p1, ..., pN])

Вызывает команду или метод на другом сервере Flash Media Server или на сервере приложений, к которому подключен данный экземпляр приложения. На сервере, метод NetConnection.call() работает так же, как и метод NetConnection.call() клиентского приложения: запускает команду на удалённом сервере.

Примечание: Для того, что бы запустить команду на клиентском приложении, используется метод Client.call().

Доступно с версии сервера

Flash Communication Server 1

Параметры

methodName
Строка, указывающая на метод в виде "[objectPath/]method". Например, комманда вида someObj/doSomething сообщает удалённому серверу о том, что нужно запустить метод clientObj.someObj.doSomething() с параметрами p1, …, pN. Если путь к объекту не указан, на удаленном сервере вызывается clientObj.doSomething().

resultObj
Объект. Этот необязательный параметр используется для обработки возвращаемых сервером значений. Объектом для обработки вернувшихся результатов может быть любой определенный вами объект, имеющий два метода с помощью которых он обрабатывает полученный результат: onResult() и onStatus(). Если возвращенным результатом стала ошибка, то сработает onStatus(); в противном случае срабатывает onResult().

p1, …, pN
Необязательные параметры любого типа ActionScript, включая ссылку на другой объект ActionScript. Эти параметры передаются параметру methodName когда метод вызывается на удалённом сервере приложений.

Возвращает

Для подключений через RTMP, возвращаемая булева величина true означает, что вызов methodName отправлен клиенту; в противном случаи, возвращаемым значением является false. При подключениях к серверу приложений, всегда возвращается true.

Пример

В следующем примере с помощью RTMP выполняется вызов команды одним Flash Media Server на другом Flash Media Server. В коде устанавливается подключение приложению App1 находящемуся на сервере 2, далее вызывается метод Sum() находящийся на сервере 2:

nc1.connect("rtmp://server2.mydomain.com/App1", "svr2",); 
nc1.call("Sum", new Result(), 3, 6);

Следующий код Server-Side ActionScript находиться на сервере 2. В процессе подключения клиента, в коде идет проверка на наличие параметра, который должен быть равен svr1. Если клиент передает такой параметр, для него определяется метод Sum() который будучи запрошен с svr1 получит ответ от svr2:

application.onConnect = function(clientObj){ 
    if(arg1 == "svr1"){ 
        clientObj.Sum = function(p1, p2){ 
            return p1 + p2; 
        } 
    }  
    return true;  
};

В следующем примере с помощью запроса Action Message Format (AMF) создается вызов к серверу приложений. Это дает возможность Flash Media Server подключиться к серверу приложений и вызвать на нем метод quote(). Адаптер Java™ обрабатывает запрос, используя в качестве идентификатора имени класса значение находящееся слева от точки, а значение справа от точки идентифицируется как метод данного класса.

nc = new NetConnection; 
nc.connect("http://www.xyz.com/java"); 
nc.call("myPackage.quote", new Result());

Остальные методы и свойства

Ярлыки: , ,

  1. Пока без комментариев.
  1. Пока нету.