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

SharedObject.mark()

so.mark(handlerName, p1, ..., pN)

Доставляет клиентам подписчикам все события change в виде одного сообщения.

В серверном скрипте, для того что бы обновить несколько свойств общего объекта, между вызовом методов lock() и unlock() можно использовать метод SharedObject.setProperty(). Все клиенты подписчики получают событие change через обработчик SharedObject.onSync(). Иногда, с целью оптимизации пропускной способности, сервер может разделить сообщение на несколько частей, и уведомление о событии change может быть отправлено не в том же порядке как было указано в коде.

Метод mark() можно использовать для выполнения кода после того как весь набор свойств был обновлен. Зная что все свойства, перед вызовом mark() были обновлены, можно запускать handlerName указанный в параметре метода mark().

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

Flash Media Server 2

Параметры

handlerName
Запускает указанный обработчик для экземпляра SharedObject клиентской части приложения. Например, если параметр handlerName равен onChange, на клиенте запустится обработчик SharedObject.onChange() с параметрами p1, …,pN.

Примечание: Не используйте имена встроенных методов при именовании обработчиков. Например, если указать имя обработчика как close, это приведет к тому, что поток-подписчик будет закрыт.

p1, …, pN
Параметры любого типа ActionScript, включая ссылки на другие объекты ActionScript. Эти параметры передаются handlerName когда он срабатывает на стороне клиента.

Возвращает

Булеву величину. Равную true если сообщение может направится клиенту; в противном случаи, false.

Пример

В следующем примере метод mark() вызывается дважды, что бы сгруппировать два набора изменений свойств общего объекта для клиента:

var myShared = SharedObject.get("foo", true); 
 
myShared.lock(); 
myShared.setProperty("name", "Stephen"); 
myShared.setProperty("address", "Xyz lane"); 
myShared.setProperty("city", "SF"); 
myShared.mark("onAdrChange", "name"); 
myShared.setProperty("account", 12345); 
myShared.mark("onActChange"); 
myShared.unlock();

В следующем примере показан принимающий клиентский код:

connection = new NetConnection(); 
connection.connect("rtmp://flashmediaserver/someApp"); 
var x = SharedObject.get( "foo", connection.uri, true); 
x.connect(connection); 
x.onAdrChange = function(str) { 
    // Общий объект был изменен,  
    // можно посмотреть "name", "address" и "city". 
} 
 
x.onActChange = function(str) { 
    // Общий объект был изменен, 
    // теперь можно посмотреть свойство "account". 
}

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

Ярлыки: , ,

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