`
qzriso
  • 浏览: 240780 次
  • 性别: Icon_minigender_1
  • 来自: ph
社区版块
存档分类
最新评论

RED5遍历客户端及生成在线列表

 
阅读更多

在线列表格式为:
连接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如何遍历客户端并生成在线用户列表的原代码实现。 在RED5中,管理在线客户端的关键在于对连接会话(connection)的跟踪。RED5维护了一个连接池,其中包含了所有与服务器建立连接的客户端信息。...

    RED5遍历客户端并生成在线列表

    在这个问题中,我们关注的是如何使用 RED5 来遍历客户端并生成在线列表。 首先,我们需要了解 RED5 的核心接口和类。在提供的代码中,`ApplicationAdapter` 是 RED5 应用程序的基础适配器,它实现了 RED5 服务器与...

    生成饼形图

    ### 生成饼形图在ASP.NET中的实现方法 在ASP.NET中生成饼形图是一种常见的需求,尤其是在数据...- 输出生成的图像到客户端。 以上就是ASP.NET中生成饼形图的基本方法,你可以根据实际需求调整代码中的数据和样式。

    Android-在Android中显示FlatBuffers实例的示例应用程序

    4. **反序列化**: 在Android客户端,使用生成的Java类读取二进制文件,可以直接访问字段而无需遍历整个数据结构。 ### 三、Android集成FlatBuffers 1. **添加依赖**: 将FlatBuffers的Android库添加到项目`build....

    Easy Ajax with jQuery中文版 (PDF版)

    #### 5. 第一个Ajax程序示例 - **目标**:创建一个交互式概念生成器,从文本文件中随机选择两个选项并组合成新词汇。 - **技术栈**: - 客户端:jQuery用于发送Ajax请求和处理响应。 - 服务器端:PHP负责生成随机...

    js常用方法8张脑图.zip

    JavaScript,简称JS,是Web开发中的重要脚本语言,用于实现客户端的动态效果和交互。在给定的压缩包文件“js常用方法8张脑图.zip”中,包含的8张脑图涵盖了JavaScript的一些核心知识点,包括时间格式化、URL参数处理...

    JAVA上百实例源码以及开源项目源代码

    Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证...

    使用jQuery简化Ajax开发

    $('#element').css('color', 'red').slideUp(500); ``` 在这个例子中,`#element` 的颜色变为红色,然后逐渐隐藏,所有操作都在一行代码中完成。 总的来说,jQuery 通过提供一套丰富的 API 和简洁的语法,极大地...

    2021-2022计算机二级等级考试试题及答案No.18019.docx

    ### 5. 文档编辑 **知识点**:Word文档分栏功能 **描述**:Word软件支持的文档分栏特性。 **解析**:Word确实支持文档分栏功能,并且各栏的宽度可以不同。这一功能对于排版复杂的文档非常有用。 ### 6. 操作系统...

    FLVCode.zip

    5. **JSTL(JavaServer Pages Standard Tag Library)**:可能用于简化JSP页面的逻辑,提高可读性和可维护性,例如使用`&lt;c:forEach&gt;`遍历数组或集合,`&lt;c:if&gt;`进行条件判断。 6. **MVC(Model-View-Controller)...

    JS高级教程

    JavaScript,简称JS,是一种广泛用于网页和网络应用的脚本语言,它在客户端运行,赋予网页动态功能。本教程旨在深入探讨JavaScript的高级特性,帮助开发者提升技能,实现更复杂的网页交互和应用程序开发。 1. **...

    net-snmp 源码包

    3. **snmpget**和**snmpwalk**:命令行工具,分别用于获取单个MIB对象值和遍历整个MIB树。 4. **snmpset**:用于设置MIB对象的值。 5. **snmpbulkwalk**:支持SNMPv2c和SNMPv3的批量查询功能。 6. **snmp-mib-tools*...

    JQ JS javascript 截图功能 画图功能

    2. **Canvas API**:JavaScript的Canvas API提供了绘制图形的能力,用于生成截图时,需要遍历DOM,将元素信息映射到Canvas上,然后调用`toDataURL`方法生成图片URL,最后可使用`a`标签的`download`属性下载。...

    日历,及其所用的js

    4. **循环与条件判断**:生成日历需要遍历月份和日期,JavaScript的`for`循环和条件判断语句(`if...else`)在这里发挥着关键作用,确保日历正确地显示每周的天数和每个月的日期。 5. **样式与布局**:为了让日历...

    网页设计试题

    给定的程序片段 `("Key") Next Key %&gt;` 是ASP代码,其功能是在页面上遍历 `Application` 对象中存储的所有键值,并输出这些键名。这通常用于调试或展示当前应用中存储的所有共享变量名称。 #### 六、HTML程序实现...

    用模版生成HTML的的框架jquery.tmpl使用详解

    总的来说,jQuery tmpl作为一款轻量级的模板引擎,简化了在客户端根据JSON数据生成HTML的过程,提高了代码的可读性和可维护性。它的主要优势在于其简洁的语法,允许开发者快速构建动态页面,同时降低了JavaScript中...

    ActionScript开发技术大全

    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 ...

    C#操作Excel组件NPOI

    这个组件不仅适用于服务器端生成报表,也可以用于客户端的数据导入导出。它的主要优势在于无需安装Office软件,即可实现对Excel文件的操作。 2. **基本概念** - HSSFWorkbook:用于处理老版本的XLS文件。 - ...

    asp.net 实现类似邮件附件上传的效果

    StringBuilder strMsg = new StringBuilder("成功上传的文件信息分别为:&lt;hr color=red&gt;"); // 遍历所有上传的文件 for (int fileCount = 0; fileCount ; fileCount++) { HttpPostedFile postedFile = files...

    刷新字体变色特效.zip

    2. **颜色数组**:创建一个包含多种颜色的数组,如`['red', 'blue', 'green', 'yellow', 'purple']`。 3. **随机索引**:使用`Math.random()`函数生成一个介于0和颜色数组长度之间的随机数,作为颜色数组的索引。 4....

Global site tag (gtag.js) - Google Analytics