您好,欢迎光临本网站![请登录][注册会员]  
文件名称: red5chat 多人视频 音频会议
  所属分类: Java
  开发工具:
  文件大小: 2mb
  下载次数: 0
  上传时间: 2013-03-19
  提 供 者: lifes*****
 详细说明: package chat; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.red5.server.adapter.ApplicationAdapter; import org.red5.server.api.IConnection; import org.red5.server.api.IClient; import org.red5.server.api.IScope; import java.util.*; import org.red5.server.api.service.ServiceUtils; import org.red5.server.api.service.*; import org.red5.server.api.Red5; //import org.apache.commons.logging.Log; //import org.apache.commons.logging.LogFactory; public class Application extends Appli cationAdapter { public Map clients = new HashMap(); public class CClient{ String id = null; String pseudo = null; String role = null; String sexe = null; String status = null; String room=null; String world=null; public String getRole(){ return role; } public String getName(){ return pseudo; } public String getId(){ return id; } public String getSexe(){ return sexe; } public String getStatus(){ return status; } public String getRoom(){ return room; } public String getWorld(){ return world; } public void setRole(String _role){ role = _role; } public void setPseudo(String _pseudo){ pseudo = _pseudo; } public void setSexe(String _sexe){ sexe = _sexe; } public void setId(String _id){ id = _id; } public void setStatus(String _status){ status = _status; } public void setRoom(String _room){ room = _room; } public void setWorld(String _world){ world = _world; } } public boolean connect(IConnection conn, IScope scope, Object[] params) { // pseudo role sexe status room world; // Check if the user passed valid parameters. log.info( "**connection" ); log.info("**connect IConnection nombre params="+ params.length); log.debug("**connect IConnection nombre params="+ params.length); if (params == null || params.length != 6) { // NOTE: "rejectClient" terminates the execution of the current method! rejectClient("6 params expected."); } String pseudo=params[0].toString(); String id=conn.getClient().getId(); ((IServiceCapableConnection) conn).invoke("flashmethod", new Object[]{"connect", pseudo+id}); if (clients.get(pseudo) != null) { rejectClient("PSEUDO ALREADY IN USE"); } // we do create a new user ! log.info( "connection pseudo:"+pseudo); log.info( "connection id:"+id); CClient client = new CClient(); client.setId(id); client.setPseudo(pseudo); client.setRole(params[1].toString()); client.setSexe(params[2].toString()); client.setStatus(params[3].toString()); client.setRoom(params[4].toString()); client.setWorld(params[5].toString()); clients.put(pseudo, client); // clients["yarek"]=client conn.setAttribute("psuedo", pseudo); return true; } public void disconnect(IConnection conn, IScope scope) { log.info( "disconnect"); String pseudo=conn.getClient().getAttribute("pseudo").toString(); //log.info( "disconnect:"+pseudo); String id=conn.getClient().getId(); ((IServiceCapableConnection) conn).invoke("flashmethod", new Object[]{"disconnect", pseudo+id}); // Unregister user. //ServiceUtils.invokeOnAllConnections (scope, "removeuser", new Object[] {pseudo} ); if (pseudo==null) { clients.clear(); } else { CClient u = clients.get(pseudo); clients.remove(u); } // ISharedObject so = getSharedObject(scope, "users_so"); // so.endUpdate(); //IScope appScope = Red5.getConnectionLocal().getScope(); // Call original method of parent class. super.disconnect(conn, scope); } /* * public boolean roomConnect(IConnection iconnection, Object params[]){ if(!super.roomConnect(iconnection, params)){ //log.info((new StringBuilder()).append("Application failed to connect room: ").append(iconnection.getScope().getName()).toString()); return false; } else{ //log.info((new StringBuilder()).append("Application room connect initiated for room ").append(iconnection.getScope().getName()).append(": ").toString()); // We will add our client information right here CClient client = new CClient(); client.setId(params[0].toString()); client.setPseudo(params[1].toString()); client.setRole(params[2].toString()); client.setSexe(params[3].toString()); client.setStatus(params[4].toString()); iconnection.getClient().setAttribute("client", client); return true; } } */ public void callclient() { log.info("callclient called"); IConnection conn = Red5.getConnectionLocal(); if (conn instanceof IServiceCapableConnection) { IServiceCapableConnection sc = (IServiceCapableConnection) conn; log.info("flashmethod called"); sc.invoke("flashmethod", new Object[]{"One", 1}); } } public String debug (String msg){ return msg; } public double add(double a, double b){ return a + b; } } ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: red5 chat video audio 音视频
 输入关键字,在本站1000多万海量源码库中尽情搜索: