在线列表格式为:
连接ID1,连接用户名1;连接ID2,连接用户名2;...
/* * * D5Power Studio [www.d5power.com] * Code:D5.Benmouse * */ import org.red5.server.adapter.ApplicationAdapter; import org.red5.server.api.IClient; import org.red5.server.api.IConnection; import org.red5.server.api.IScope; import org.red5.server.api.Red5; import java.util.*;
public class Application extends ApplicationAdapter { private IScope appScope; private String username="";
//取得本次连接的IScope //appStart将在连接开始的时候自动触发,等同于FMS的onAppStart public boolean appStart(IScope app) { appScope = app; return true; }
//连接时触发的函数,定义本过程中的username,等同于FMS的onConnect public boolean appConnect(IConnection conn, Object[] params) { username=(String)params[0]; return true; }
//连接加入时触发的函数,写入username的值 public boolean appJoin(IClient client, IScope app) { client.setAttribute("username",username); return true; }
//客户端调用函数,将返回目前登陆的在线列表 public String login() { IConnection current = Red5.getConnectionLocal(); System.out.println("<---"+current.getClient().getId()+":"+current.getClient().getAttribute("username")); return getOnlineList(); }
//取得在线列表,对在线的客户端进行遍历,并显示。 public String getOnlineList() { Iterator<IConnection> it=appScope.getConnections(); String onLineList=""; while(it.hasNext()) { IConnection this_conn=it.next(); IClient ic=this_conn.getClient(); String u=ic.getAttribute("username").toString(); onLineList+=ic.getId()+","+u+";"; System.out.println(u); } System.out.println("--->"); return onLineList; }
public boolean sendMSG() { //IScope scope = conn.getScope(); Iterator<IConnection> it = appScope.getConnections(); String i=""; while(it.hasNext()) { IConnection this_conn=it.next(); i+=this_conn.getClient().getAttribute("username")+","; } return true; }
}
|
分享到:
相关推荐
本文将深入解析RED5如何遍历客户端并生成在线用户列表的原代码实现。 在RED5中,管理在线客户端的关键在于对连接会话(connection)的跟踪。RED5维护了一个连接池,其中包含了所有与服务器建立连接的客户端信息。...
在这个问题中,我们关注的是如何使用 RED5 来遍历客户端并生成在线列表。 首先,我们需要了解 RED5 的核心接口和类。在提供的代码中,`ApplicationAdapter` 是 RED5 应用程序的基础适配器,它实现了 RED5 服务器与...
### 生成饼形图在ASP.NET中的实现方法 在ASP.NET中生成饼形图是一种常见的需求,尤其是在数据...- 输出生成的图像到客户端。 以上就是ASP.NET中生成饼形图的基本方法,你可以根据实际需求调整代码中的数据和样式。
4. **反序列化**: 在Android客户端,使用生成的Java类读取二进制文件,可以直接访问字段而无需遍历整个数据结构。 ### 三、Android集成FlatBuffers 1. **添加依赖**: 将FlatBuffers的Android库添加到项目`build....
#### 5. 第一个Ajax程序示例 - **目标**:创建一个交互式概念生成器,从文本文件中随机选择两个选项并组合成新词汇。 - **技术栈**: - 客户端:jQuery用于发送Ajax请求和处理响应。 - 服务器端:PHP负责生成随机...
JavaScript,简称JS,是Web开发中的重要脚本语言,用于实现客户端的动态效果和交互。在给定的压缩包文件“js常用方法8张脑图.zip”中,包含的8张脑图涵盖了JavaScript的一些核心知识点,包括时间格式化、URL参数处理...
Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证...
$('#element').css('color', 'red').slideUp(500); ``` 在这个例子中,`#element` 的颜色变为红色,然后逐渐隐藏,所有操作都在一行代码中完成。 总的来说,jQuery 通过提供一套丰富的 API 和简洁的语法,极大地...
### 5. 文档编辑 **知识点**:Word文档分栏功能 **描述**:Word软件支持的文档分栏特性。 **解析**:Word确实支持文档分栏功能,并且各栏的宽度可以不同。这一功能对于排版复杂的文档非常有用。 ### 6. 操作系统...
5. **JSTL(JavaServer Pages Standard Tag Library)**:可能用于简化JSP页面的逻辑,提高可读性和可维护性,例如使用`<c:forEach>`遍历数组或集合,`<c:if>`进行条件判断。 6. **MVC(Model-View-Controller)...
JavaScript,简称JS,是一种广泛用于网页和网络应用的脚本语言,它在客户端运行,赋予网页动态功能。本教程旨在深入探讨JavaScript的高级特性,帮助开发者提升技能,实现更复杂的网页交互和应用程序开发。 1. **...
3. **snmpget**和**snmpwalk**:命令行工具,分别用于获取单个MIB对象值和遍历整个MIB树。 4. **snmpset**:用于设置MIB对象的值。 5. **snmpbulkwalk**:支持SNMPv2c和SNMPv3的批量查询功能。 6. **snmp-mib-tools*...
2. **Canvas API**:JavaScript的Canvas API提供了绘制图形的能力,用于生成截图时,需要遍历DOM,将元素信息映射到Canvas上,然后调用`toDataURL`方法生成图片URL,最后可使用`a`标签的`download`属性下载。...
4. **循环与条件判断**:生成日历需要遍历月份和日期,JavaScript的`for`循环和条件判断语句(`if...else`)在这里发挥着关键作用,确保日历正确地显示每周的天数和每个月的日期。 5. **样式与布局**:为了让日历...
给定的程序片段 `("Key") Next Key %>` 是ASP代码,其功能是在页面上遍历 `Application` 对象中存储的所有键值,并输出这些键名。这通常用于调试或展示当前应用中存储的所有共享变量名称。 #### 六、HTML程序实现...
总的来说,jQuery tmpl作为一款轻量级的模板引擎,简化了在客户端根据JSON数据生成HTML的过程,提高了代码的可读性和可维护性。它的主要优势在于其简洁的语法,允许开发者快速构建动态页面,同时降低了JavaScript中...
2.3.3Tomcat集成RED5服务器 20 2.4安装VisualBasic6.0 22 2.5小结 23 第3章ActionScript3.0语法 24 3.1变量 24 3.1.1变量声明 24 3.1.2变量赋值 25 3.1.3变量的生存周期 26 3.2基本数据类型 27 3.2.1Object类型 28 ...
这个组件不仅适用于服务器端生成报表,也可以用于客户端的数据导入导出。它的主要优势在于无需安装Office软件,即可实现对Excel文件的操作。 2. **基本概念** - HSSFWorkbook:用于处理老版本的XLS文件。 - ...
StringBuilder strMsg = new StringBuilder("成功上传的文件信息分别为:<hr color=red>"); // 遍历所有上传的文件 for (int fileCount = 0; fileCount ; fileCount++) { HttpPostedFile postedFile = files...
2. **颜色数组**:创建一个包含多种颜色的数组,如`['red', 'blue', 'green', 'yellow', 'purple']`。 3. **随机索引**:使用`Math.random()`函数生成一个介于0和颜色数组长度之间的随机数,作为颜色数组的索引。 4....