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

[RED5]Red5 Client 连接 Red5Server java代码

时间:2014-05-09 16:53gongminrui
[RED5]Red5 Client 连接 Red5Server java代码

[RED5]Red5 Client 连接 Red5Server java代码

  1. import java.util.ArrayList; 
  2. import java.util.Map; 
  3.  
  4. import org.red5.io.utils.ObjectMap; 
  5. import org.red5.server.api.event.IEvent; 
  6. import org.red5.server.api.event.IEventDispatcher; 
  7. import org.red5.server.api.service.IPendingServiceCall; 
  8. import org.red5.server.api.service.IPendingServiceCallback; 
  9. import org.red5.server.net.rtmp.INetStreamEventHandler; 
  10. import org.red5.server.net.rtmp.RTMPClient; 
  11. import org.red5.server.net.rtmp.RTMPConnection; 
  12. import org.red5.server.net.rtmp.codec.RTMP; 
  13. import org.red5.server.net.rtmp.event.Notify; 
  14.  
  15. public class RtmpClientNew extends RTMPClient implements 
  16.   INetStreamEventHandler, IPendingServiceCallback, IEventDispatcher { 
  17.  
  18.  String host = "111.92.237.33"
  19.  String app = "chainGunSyncService"
  20.  int port = 1935
  21.  
  22.  public RtmpClientNew() { 
  23.   super(); 
  24.   Map<String, Object> map = makeDefaultConnectionParams(host, 
  25.     1935, "chainGunSyncService"); 
  26.  
  27.   connect(host, 1935, map, this, new String[] { "admin", "", 
  28.     "111.92.237.33" }); 
  29.  } 
  30.  
  31.  @Override 
  32.  public void dispatchEvent(IEvent arg0) { 
  33.   // TODO Auto-generated method stub 
  34.  } 
  35.  
  36.  @Override 
  37.  public void resultReceived(IPendingServiceCall call) { 
  38.   // TODO Auto-generated method stub 
  39.   Object result = call.getResult(); 
  40.  
  41.   if (result instanceof ObjectMap) { 
  42.    if ("connect".equals(call.getServiceMethodName())) { 
  43.     createStream(this); 
  44.    } 
  45.   } else { 
  46.    if ("createStream".equals(call.getServiceMethodName())) { 
  47.     if (result instanceof Integer) { 
  48.      Integer streamIdInt = (Integer) result; 
  49.      // int streamId = streamIdInt.intValue(); 
  50.      // publish(streamId, "testgio2", "live", this); 
  51.      invoke("getRoomsInfo", this); 
  52.     } else { 
  53.  
  54.      disconnect(); 
  55.     } 
  56.    } else if ("getRoomsInfo".equals(call.getServiceMethodName())) { 
  57.     ArrayList<String> list = (ArrayList<String>) result; 
  58.     for (int i = 0; i < list.size(); i++) { 
  59.      System.out.println(list.get(i)); 
  60.     } 
  61.    } 
  62.   } 
  63.  
  64.  } 
  65.  
  66.  @Override 
  67.  public void onStreamEvent(Notify arg0) { 
  68.   // TODO Auto-generated method stub 
  69.  } 
  70.  
  71.  @Override 
  72.  public void connectionOpened(RTMPConnection conn, RTMP state) { 
  73.   // TODO Auto-generated method stub 
  74.   // System.out.println("connectionOpened"); 
  75.  
  76.   super.connectionOpened(conn, state); 
  77.  } 
  78.  
  79.  public static void main(String[] args) { 
  80.   new RtmpClientNew(); 
  81.  } 

 

热门文章推荐

请稍候...

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

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