Custom Methods пользовательский метод

Custom Methods пользовательский метод

Пользовательский метод серверной части Java ,который вы захотите использовать к Flash player клиенту через вызов к NetConnection.call() или вызовом части NetConnection или NetStream набора команд. Наппример, “play” или “publish” определены в ModuleCore как пользовательский метод. Этот метод должен быть публичным и должен содержать следующую подпись аргумента (IClient, RequestFunction, AMFDataList параметры). Только публичные методы ч этой подписью могут быть доступны для вызова из клиента.

 

Обработка пользовательских методов отличается от методов событий. Когда такой метод как “play” , вызывается из flash player, только последний модуль в <Modules> списке определяет , что пользовательский метод был вызываемымым. Например, ModuleCore модуль определяет метод“play” , который был вызван, когда NetStream.play(streamName) обращался из Flash плеера. Если вы создаете свой пользовательский метод , который определяет метод “play” и добавляет его к <Modules> списку после ModuleCore модуля, ваш “play” метод будет вызывать, даже, если метод the “play” определен в ModuleCore. Если в применение вашего “play” вы хотите, чтобы вызвался “play” метод «следующий за» по списку к вашему модулю, вы можете вызвать “this.invokePrevious(client, function, params)”. Wowza Pro будет искать список и найдя следующий за применением “play” метод, будет вызвать этот метод из списка. Это позволяет создавать методы с задержкой. Каждое применение метода в <Modules> списке может быть запущено с указанием порядка на следующий модуль и управляется пропуском прохода в списке <Modules> .

Например, вы используете “play” и хотите проверить имя потока всех вызовов к NetStream.play(streamName).Если имя начинается с “goodstream/” и вы хотите указать вначале фразу “_good” к имени потока и вызвать “this.invokePrevious(client, function, params)”. Все другие вызовы в этом случае будут разъеденены. Код выглядит так :

import com.wowza.wms.module.*;

import com.wowza.wms.client.*;

import com.wowza.wms.amf.*;

import com.wowza.wms.request.*;

public class MyModule extends ModuleBase

{

public void play(IClient client, RequestFunction function, AMFDataList params)

{

boolean disconnect = false;

if (params.get(PARAM1).getType() == AMFData.DATA_TYPE_STRING)

{

String playName = params.getString(PARAM1);

if (playName.startsWith(«goodstream/»))

{

playName += «_good»;

params.set(PARAM1, new AMFDataItem(playName));

}

else

disconnect = true;

}

if (disconnect)

client.setShutdownClient(true);

else

this.invokePrevious(client, function, params);

}

}

package com.mycompany.module;

Custom Methods пользовательский метод

Returning Results from a Custom Method Возвращая результаты из пользов. метода

Returning Results from a Custom Method

Пользовательский метод может возвращать единичные результатирующие данные. Эти значения должны конвертироватся Аction Message Format (AMF) объектом для распознования Flash плеером клиентом. Эти типы свойств включают проcтые типы как strings, integers и booleans и более сложные такие как objects(объекты), arrays или arrays of objects. com.wowza.wms.module.ModuleBase класс включает много функций помощи для возврата к простым типам. Для более сложных типов com.wowza.wms.amf пакет содержит API для создания объектов и общения. См API javadocs и “Server Side Coding” примеры для детальной инфы. Ниже пример трех методов возвращения простых типов свойств:

package com.mycompany.module;

import com.wowza.wms.module.*;

import com.wowza.wms.client.*;

import com.wowza.wms.amf.*;

import com.wowza.wms.request.*;

public class MyModule extends ModuleBase

{

public void myFunctionString(IClient client,

RequestFunction function, AMFDataList params)

{

sendResult(client, params, «Hello World»);

}

public void myFunctionInt(IClient client,

RequestFunction function, AMFDataList params)

{

sendResult(client, params, 536);

}

public void myFunctionBoolean(IClient client,

RequestFunction function, AMFDataList params)

{

sendResult(client, params, true);

}

}

Returning Results from a Custom Method Возвращая результаты из пользов. метода