·您当前的位置:首页 > 技术教程 > RED5教程 >

[red5]red5流媒体环境做防止盗链的处理方法

时间:2017-05-26 17:5501jiangwei01.iteye.com
[red5]red5流媒体环境做防止盗链的处理方法

[red5]red5流媒体环境做防止盗链的处理方法

  1. package first; 
  2.  
  3. import java.util.Map; 
  4.  
  5. import org.apache.commons.lang.StringUtils; 
  6. import org.red5.server.adapter.ApplicationAdapter; 
  7. import org.red5.server.api.IConnection; 
  8. import org.red5.server.api.IScope; 
  9. import org.red5.server.api.stream.IServerStream; 
  10.  
  11. import com.cqa.platform.util.SystemGlobals; 
  12.  
  13. public class Application extends ApplicationAdapter{ 
  14.  
  15.   private IScope appScope; 
  16.   private IServerStream serverStream; 
  17.  
  18.   public Application() 
  19.   { 
  20.       System.out.println("Application构造函数  "); 
  21.   } 
  22.   //appStart将在链接开始时自动触发 
  23.   public boolean appStart(IScope app) 
  24.   { 
  25.     return true; 
  26.   } 
  27.   //链接时触发的函数 
  28.   public boolean appConnect(IConnection conn, Object[] params) 
  29.   { 
  30.       Map<String, Object> hm = conn.getConnectParams(); 
  31.       String host =   (String) hm.get("pageUrl"); 
  32.       String allowHost = "http://localhost:18082/red5/"
  33.       boolean ret = false
  34.       if(allowHost == null || StringUtils.isBlank(allowHost )){ 
  35.           ret = true
  36.       }else { 
  37.              String[] args = allowHost.split(","); 
  38.              ret = false
  39.              if(host != null && StringUtils.isNotBlank(host) ){ 
  40.                  for(int i=0;i<args.length;++i){ 
  41.                      if(host.indexOf( args[i])>=0){ 
  42.                          ret = true
  43.                          break; 
  44.                      } 
  45.                  } 
  46.              } 
  47.      } 
  48.      if(ret){ 
  49.          return super.appConnect(conn, params); 
  50.      }else { 
  51.          return false; 
  52.      } 
  53.  
  54.   } 
  55.  
  56.   public void appDisconnect(IConnection conn) 
  57.   { 
  58.  
  59.     if ((this.appScope == conn.getScope()) && (this.serverStream != null)) { 
  60.       this.serverStream.close(); 
  61.     } 
  62.     super.appDisconnect(conn); 
  63.   } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器