为了得到共享对象的改变通报类似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(); |