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

Client.remoteMethod()

myClient.remoteMethod = function([p1, ..., pN]){}

Для серверного объекта типа Client можно определять методы и вызывать их со стороны клиентского приложения. Для вызова методов в клиентском приложении используется метод NetConnection.call() с переданным в него именем определенного вами метода. Сервер производит поиск метода у экземпляра объекта типа Client. Найденный метод вызывается и возвращаемое им значение отправляется обратно объекту обработчику результата, который был указан в вызове NetConnection.call().

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

Flash Communication Server 1

Параметры

p1, …, pN
Необязательные параметры передаваемые методу NetConnection.call(.

Пример

В следующем примере на стороне сервера, как свойство объекта типа Client newClient создается метод sum():

Client.prototype.sum = function(op1, op2){ 
    return op1 + op2; 
};

Вызвать серверный метод sum() можно из клиентского приложения используя метод NetConnection.call():

nc = new NetConnection(); 
nc.connect("rtmp://myServer/myApp"); 
nc.call("sum", new result(), 20, 50); 
function result(){ 
    this.onResult = function (retVal){ 
        output += "полученная сума " + retVal; 
    }; 
    this.onStatus = function(errorVal){ 
        output += errorVal.code + " ошибка выполнения"; 
    }; 
}

Так же метод sum() доступен и на стороне сервера:

newClient.sum();

В следующем примере созданы две функции, вызывать которые можно как на стороне сервера, так и со стороны клиентского приложения:

application.onConnect = function(clientObj) { 
    // Функция foo возвращает 8.  
    clientObj.foo = function() {return 8;}; 
    // Функция bar определена вне вызова onConnect.  
    clientObj.bar = application.barFunction;  
};  
// Функция bar суммирует два переданных  ей значения.  
application.barFunction = function(v1,v2) { 
    return (v1 + v2);  
}; 

Для вызова любой из двух функций из предыдущего примера (foo и bar) на стороне клиентского приложения можно использовать такой код:

c = new NetConnection();  
c.call("foo");  
c.call("bar", null, 1, 1); 

Для вызова любой из двух функций из предыдущего примера (foo и bar) на стороне сервера можно использовать следующий код:

c = new NetConnection();  
c.onStatus = function(info) { 
    if(info.code == "NetConnection.Connect.Success") { 
        c.call("foo");  
        c.call("bar", null, 2, 2);  
    }  
};

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

Ярлыки: , ,

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