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

Client.call

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

Исполняет метод на стороне клиента или же на другом сервере. Удалённый метод может возвращать данные в resultObj если такой был указан как параметр. В любом случае, является ли удалённый агент клиентом или же это другой сервер, вызываемый метод срабатывает для объекта типа NetConnection находящегося на стороне удалённого агента.

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

Flash Communication Server 1

Параметры

methodName
Строка, означающая удалённый метод. Строка принимает форму "[objectPath/]method". Например, строка "someObj/doSomething" говорит о том что, на стороне клиента или удалённого сервера нужно вызвать метод NetConnection.someObj.doSomething(). Строка "doAction" cвызывает метод doAction() на стороне клиента или удалённого сервера.

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

p1, …, pN
Эти необязательные параметры могут быть любого ActionScript типа, включая и ссылки на другие объекты ActionScript. Эти параметры передаются параметру methodName когда метод исполняется во Flash клиенте. Если вы хотите использовать эти необязательные параметры, то сначала перед ними нужно указать resultObj; если же вы не планируете получать возвращаемого значения нужно указать null.

Возвращает

Булево значение равноеtrue в случаи если вызов methodName прошел успешно на стороне клиента; в противном же случаи, false.

Пример

Следующий пример представляет собой скрипт клиентской стороны с определенной в нем функцией getNumber(), которая выдает случайное число:

nc = new NetConnection(); 
nc.getNumber = function(){ 
    return (Math.random()); 
}; 
nc.connect("rtmp:/clientCall");

Следующий серверный скрипт вызывает Client.call() внутри обработчика событий application.onConnect() что бы вызвать метод getNumber() определенный на стороне клиента. В серверном скрипте, так же определена функция с именем randHander(), указанная в методе Client.call() в качестве параметра resultObj.

randHandler = function(){ 
    this.onResult = function(res){ 
        trace("Случайное число: " + res); 
    } 
    this.onStatus = function(info){ 
        trace("Не выполнилось. Информационный код:" + info.code); 
    } 
}; 
application.onConnect = function(clientObj){ 
    trace("Подключились"); 
    application.acceptConnection(clientObj); 
    clientObj.call("getNumber", new randHandler()); 
};
Примечание: Этот пример не будет работать с компонентами версии 2. Для того что бы посмотреть пример использования Client.call() вместе с компонентами, смотрите application.onConnectAccept().

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

Ярлыки: , ,

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