public boolean connect(IConnection conn, IScope scope, Object[] params) { IClient client = conn.getClient(); log.info( "app connect " + conn.getClient().getId() ); client.setAttribute( "stamp", new Long( 0 ) ); return true; }
每次在Red5 Server的我的自定义应用程序中连接客户端时,都会调用此方法,因此有一种方法可以识别客户端是订户(消费者,查看者)还是发布者(在我的服务器上流式传输的用户)。
最好的
要禁止或允许发布或订阅用户,可以在appStart回调方法中使用这些方法:
有关更多信息,请查看:
http://dl.fancycode.com/red5/api/org/red5/server/adapter/MultiThreadedApplicationAdapter.html
我正在使用jRuby,这样做很容易:
registerStreamPlaybackSecurity do |scope, name, start, len, flush| false # no playback allowed end registerStreamPublishSecurity do |scope, name, mode| rand(1) % 1 == 0 # publishing (recording) sometimes allowed, sometimes no end