Red5中的共享对象


Red5中的共享对象

在应用程序中存储共享对象的方法在接口ISharedObjectService中定义。当在服务端脚本里处理共享对象时,要特别注意他们被创建的范围。当一个房间被创建的时候为了去创建一个新的共享对象,你可以在你的应用程序里面重写方法roomStart:
Import org.red5.server.adapter.ApplicationAdapter;
Import org.red5.server.api.IScope;
Import org.red5.server.api.so.ISharedObject;
Public class SampleApplication extends ApplicationAdapter{
Public Boolean roomStart(IScope room){
If(!super.roomStart(room))
Return false;
createSharedObject(room,”sampleSO”,true);
ISharedObject so=getSharedObject(room,”sampleSO”);
//Now you could do something with the shared object..现在你可以用这个共享对象作一些事情。
Return true;
}

每次当第一个用户一个应用程序房间,例如:通过rtmp://server/application/room1,一个共享对象sampleSO被服务创建。
如果一个连向主程序的共享对象要是被创建,例如rtmp://server/application,相同的操作在方法appStart中被执行。
一个共享对象提供的更多方法的信息请参考接口ISaredObjec的API文档。
为了得到共享对象的改变通报类似fcs/fms的onSync,监听器必须继承接口ISharedObjectListener.
Import org.red5.server.api.so.ISharedObject;
Import org.red5.server.api.so.ISharedObjectListener;
Public class SampleSharedObjectListener implements ISharedObjectListener
{
Public void onSharedObjectUpdate(ISharedObject so,String key,Object value)
{
//共享对象so的属性<key>
//被修改成<value>
}
Public void onSharedObjectDelete(ISharedObject so,String key){
{
//共享对象so的属性为<key〉的被删除
}
Public void onSharedObjectSend(ISharedObject so,String method,List params)
{
//共享对象so的方法<method>被呼叫带有参数<params>
}
//其他的方法在接口里被描述
}

此外,监听在共享对象里必许获得注册。
ISharedObject so=getSharedObject(scope,”sampleSO”);
So.addSharedObjectListener(new SampleSharedObjectListener());

应用程序代码里的改变
一个共享对象也能被服务端改变。
ISharedObject os=getSharedObject(scope,”sampleSO”);
So.setAttribute(“fullname”,”Sample user”);

这里所有被署名的客户端得属性新建和改变最好作为注册句柄被通报。
如果关于共享对象的若干动作在一个客户端更新事件中被结合,方法beginUpdate和endUpdate必须被用到:
ISharedObject so=getSharedObject(scope,”sampleSO”);
So.beginUpdate();
So.setAttribute(“One”,” 1”);
So.setAttribute(“Two”,”2”);
So.removeAttribute(“Three”);
So.endUpdate();
本文来源于 冰山上的播客 http://xinsync.xju.edu.cn , 原文地址:http://xinsync.xju.edu.cn/index.php/archives/1906

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游鱼_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值