`
wsliujian
  • 浏览: 95113 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

red5的常用方法

阅读更多
在使用red5+flash做rpg游戏开发的时候有些功能是需要服务器来提供的,如最简单的多人用户上线,当一个用户上线后后要通知所有其他的用户,这个时候就需要red5去获取所用链接的客户端,然后通知客户端用户上线。当用户下线的时候,也是同样的需要red5的支持。
我在开发的时候是使用red5 0.8的版本。
下面详细介绍一下具体的实现。
ApplicationAdapter是客户端与red5连接的基础类:
下面来介绍一下调用的顺序,和建立so的方法。
第一步:
RED5服务器启动后,开始加载,此时只能获取应用的SCOPE
public boolean appStart(IScope arg0) {
       this.createSharedObject(arg0, "point", true);
ISharedObject so = this.getSharedObject(arg0, "point");//建立一个so
if (so != null)
so.addSharedObjectListener(new ShareObjectListener());
       return true;
}
改方法中的ShareObjectListener监听器是一个需要实现ISharedObjectListener接口的类。这样就建立一个so了。
第二步:

响应连接处理,可获取当前connection的信息,并且可以接收客户端提供的参数

public boolean appConnect(IConnection conn, Object[] params){
       return true;
}

第三步:连接成功,此时可获取client信息和SCOPE信息
public boolean appJoin(IClient client, IScope app){
       return true;
}
@Override
public boolean roomStart(IScope arg0) {
System.out.println(" 启动roomStart");
return true;
}
如果需要获取每一个room中的客户端连接。
@Override
public boolean roomConnect(IConnection arg2, Object[] arg1) {
         IScope arg0 = arg2.getScope();
         Set<IClient> i = arg0.getClients();
for (IClient c : i) {
callClient(c.getConnections().iterator().next());
}
return true;
}
public void callClient(IConnection conn) {
        if (conn instanceof IServiceCapableConnection) {
IServiceCapableConnection sc = (IServiceCapableConnection) conn;
sc.invoke("resultFun",new Object[]{peopleArray},this);
         }
}
最后一步:

客户端浏览器关闭即退出应用。

public void appDisconnect(IConnection conn) {
        return;
}
分享到:
评论

相关推荐

    Red5入门教程

    - Red5支持客户端调用服务器端的方法,同时也允许服务器端反向调用客户端,实现双向通信。 - 遍历所有连接到服务器的用户,实现好友上线通知功能,是远程调用的一个典型应用场景。 5. **共享对象(SharedObjects...

    RED5配置文件详解

    2. **red5-web.xml**:定义RED5特定的配置,如客户端连接和断开的处理类,以及客户端可调用的方法。 3. **red5-web.properties**:应用级别的属性配置文件,提供更具体的设置,补充或覆盖`red5.properties`中的配置...

    Red5 Pro---Android demo

    **Red5 Pro——Android 应用程序演示** Red5 Pro 是一个开源的流媒体服务器,它支持实时视频和音频流的发布、录制和播放。在Android平台上,Red5 Pro 提供了一个应用程序示例,帮助开发者了解如何在Android设备上...

    flex + red5 简单实例

    Flex和Red5是两个在开发实时交互应用时常用的开源技术。Flex是Adobe公司推出的一款用于构建富互联网应用程序(RIA)的开发工具,它基于ActionScript编程语言和Flash Player运行环境,能够创建动态、交互的图形界面。...

    red5与flash聊天代码

    在Web开发中,尤其是涉及到在线直播、互动聊天等应用场景时,Red5是一个常用的技术工具。 本话题主要关注的是如何利用Red5与Flash技术实现聊天功能。Flash作为一款曾经广泛应用于网页动画和交互设计的平台,其...

    flEX教程,与RED5连接

    Flex教程,特别是与RED5连接的相关知识,是Web开发领域中的一个重要主题,主要涉及Adobe Flex这一强大的富互联网应用程序(RIA)开发框架以及RED5这款开源流媒体服务器。在这篇文章中,我们将深入探讨Flex的基本概念...

    Red5服务端直播流Demo

    1. **RTMP(Real Time Messaging Protocol)**:这是Red5最常用的传输协议,用于实时传输音频、视频和数据。它支持低延迟的流媒体,适用于直播场景。 2. **HLS(HTTP Live Streaming)**:这是一种基于HTTP的流媒体...

    用流媒体red5实现的多功能聊天室

    Red5是一款开源的流媒体服务器,它支持实时流传输协议(RTMP)、H.264、Flash视频(FLV)以及其他多种媒体格式,能够用于创建实时互动的应用,如视频聊天室、直播服务等。本项目利用Red5实现了多功能聊天室,提供了...

    Red5 1.0.6 web 版(1.0.2-1.0.7) myeclipse工程解压即用

    Red5 1.0.6是该软件的一个稳定版本,对于Web开发人员和流媒体服务提供者来说,是一个重要的工具。本项目是针对Red5 1.0.6的特定构建,优化了与Web应用集成的能力,并且特别适配了MyEclipse集成开发环境。 在描述中...

    red5学习资料

    Flex或ActionScript是开发Red5客户端的常用工具,它们可以与Red5服务器进行数据交换,实现直播、点播、交互式应用等功能。 7. **HLS与HDS协议** HLS(HTTP Live Streaming)和HDS(HTTP Dynamic Streaming)是...

    JAVA-RED5.rar_flash 服务器_java 网络会议_red5_red5 java _视频会议

    Flash是RED5常用的一种客户端技术,因为它提供了丰富的多媒体支持和良好的浏览器兼容性。在视频会议应用中,Flash客户端可以捕获用户的摄像头和麦克风输入,通过RTMP协议将数据发送到RED5服务器,同时接收并显示其他...

    android 视频直播+Red5服务器

    本项目结合了Android客户端和Red5流媒体服务器,实现视频通话、视频直播和视频点播功能。让我们深入探讨这个话题。 首先,Android视频直播涉及的主要技术是实时传输协议(RTMP)。RTMP是一种专为音频、视频数据实时...

    流媒体服务器Red5安装软件

    标题中的"Red5安装软件"指的是Red5服务器的安装程序,这通常是一个可执行文件,例如在提供的文件名`setup-Red5-0.7.0.exe`中,这是Red5服务器版本0.7.0的安装包。 Red5的核心特性包括录制、播放、存储和分发流媒体...

    red5-1.0.0-RC2.zip

    - **Makefile**:这是一个Makefile文件,通常用于自动化构建过程,不过在Java项目中不常用,可能是为了在非Eclipse环境下编译Red5。 - **.project**:这是Eclipse项目的配置文件,包含了项目设置、构建路径等信息...

    从硬盘安装Red Hat Linux 9.0的方法

    ### 从硬盘安装Red Hat Linux 9.0的方法 #### 知识点一:Red Hat Linux 9.0概述 - **Red Hat Linux**:这是一个由Red Hat公司开发的Linux发行版,在2004年之前是其主要的产品。Red Hat Linux 9.0作为该系列的一个...

    Red5流媒体Flash开发的例子演示视频

    同时,需要了解Red5的基本API和协议,如RTMP(Real-Time Messaging Protocol),这是Flash与Red5之间常用的通信协议。 2. **创建Flash项目** 使用Flash Professional或者FlashDevelop等工具创建一个新的Flash项目...

    基于red5 dsj 的java 处理视频流和一些疑问

    标题中的“基于Red5 dsj 的Java处理视频流和一些疑问”表明了本文将探讨如何使用Java编程语言,借助Red5服务器,来处理视频流。Red5是一个开源的流媒体服务器,它支持实时流传输协议(RTMP)、HLS、RTSP等,广泛应用...

Global site tag (gtag.js) - Google Analytics