在red5中,服務端Application類需要實現IApplication介面,預設的做法是繼承ApplicationAdapter,
ApplicationAdapter實現了很多介面,它提供一些典型的代碼,使我們只需要重寫關注的方法,
用戶端 -> 服務端調用
用戶端由NetConnection的執行個體發起調用,定義如下:
public function call(command:String, responder:Responder, ... arguments):void
command為方法名稱,在Red5中對應Application類中的一個方法名;
Responder為響應對象,它包含一個成功的回呼函數,和一個可選的失敗回呼函數;
arguments為可選的方法參數;
服務端 -> 用戶端調用
服務端由IServiceCapableConnection的執行個體發起調用,定義如下:
void invoke(String method, Object[] params); // 註:此方法有多個重載版本。
method為用戶端Application類中定義的方法名;
params為可選的方法參數;
調用樣本(向串連同一Scope的用戶端發起回調):
IConnection current = Red5.getConnectionLocal();
Iterator<IConnection> it = current.getScope().getConnections();
while (it.hasNext()) {
IConnection conn = it.next();
if (conn.equals(current)) {
continue;
}
if (conn instanceof IServiceCapableConnection) {
((IServiceCapableConnection) conn).invoke(method, params, this);
}
}