- 浏览: 95113 次
- 性别:
- 来自: 上海
文章分类
最新评论
在使用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 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;
}
发表评论
-
Android游戏开发
2011-07-01 15:26 196Android开发中Activity是个 -
Flash WebGame 开发经验心得和PureMVC框架细说
2011-06-28 14:02 1549→前端的主程序架构和模块划分与人手和人事分工是紧密联系在一起的 ... -
Flash中的深度排序
2011-06-28 11:34 1275As for Multiplayer Games and Vi ... -
Flex 中的callback
2011-06-28 11:16 964Flash支持传递函数做完参数传递。 下面是主函数中的方法 ... -
常用flash引擎和框架
2011-06-27 11:08 2986官方在线帮助(没标英文的都是中文) 用于 Adobe Flas ... -
原来flash player对图片的解码不是异步的,AIR2.6后就异步了
2011-06-27 10:53 850用过 Loader 对象的人都知道,加载图片时,无论是使用 l ... -
Flash WebGame 开发经验心得和PureMVC框架细说
2011-06-27 10:32 1067→前端的主程序架构和模块划分与人手和人事分工是紧密联系在一起的 ... -
简要评说Adobe的FlashPlayer的渲染算法
2011-06-27 10:22 1025前些时候看到CSDN上一篇文章介绍FlashPlayer的渲染 ... -
游戏中的智能寻路
2011-05-22 18:20 1269近年来,游戏产业的快 ... -
as3中ProgressEvent的bytesTotal始终为0
2011-05-16 09:50 1515as3中ProgressEvent的bytesTotal始终为 ... -
使用URI-Style Namespace编译ActionScript/Flex Library
2011-05-12 11:10 819当你开发了一个有着多个Pacakge的类库,并在MXML中使用 ... -
环境贴图
2011-03-29 10:49 1095教程:实时环境映射贴图技术实时环境映射贴图技术(Real-ti ... -
Python之旅
2010-12-09 19:40 948一直用AS3+Red5做一些小游戏,感觉挺方便的,特别在做上下 ... -
flash player10的rotationY的使用
2010-12-07 12:26 1607flash player10提供了对3D的支持,虽然功能不够强 ... -
PV3d性能优化
2010-11-25 14:19 1346当你优化你的程序时, ... -
PV3D处理3D矢量绘图与3D文本
2010-08-23 11:46 1160Papervision3D主要以位图为 ... -
Flash中矢量和位图的使用
2010-06-09 16:47 890最近在做一个世界地图的Flash,其中导入一个很大的矢量图形, ... -
flex 3 + .net开发flash Remoting四[完整代码
2010-03-02 20:49 761一. 相关说明: 本 ... -
关于PV3D常用材质的讨论
2009-12-17 14:05 1113PV3D中的贴图材质有很多。 颜色材质Co ... -
AS3中的loading与stage
2009-12-16 13:53 1009在AS3中如果用loading在主flash中是不能使用sta ...
相关推荐
- Red5支持客户端调用服务器端的方法,同时也允许服务器端反向调用客户端,实现双向通信。 - 遍历所有连接到服务器的用户,实现好友上线通知功能,是远程调用的一个典型应用场景。 5. **共享对象(SharedObjects...
2. **red5-web.xml**:定义RED5特定的配置,如客户端连接和断开的处理类,以及客户端可调用的方法。 3. **red5-web.properties**:应用级别的属性配置文件,提供更具体的设置,补充或覆盖`red5.properties`中的配置...
**Red5 Pro——Android 应用程序演示** Red5 Pro 是一个开源的流媒体服务器,它支持实时视频和音频流的发布、录制和播放。在Android平台上,Red5 Pro 提供了一个应用程序示例,帮助开发者了解如何在Android设备上...
Flex和Red5是两个在开发实时交互应用时常用的开源技术。Flex是Adobe公司推出的一款用于构建富互联网应用程序(RIA)的开发工具,它基于ActionScript编程语言和Flash Player运行环境,能够创建动态、交互的图形界面。...
在Web开发中,尤其是涉及到在线直播、互动聊天等应用场景时,Red5是一个常用的技术工具。 本话题主要关注的是如何利用Red5与Flash技术实现聊天功能。Flash作为一款曾经广泛应用于网页动画和交互设计的平台,其...
Flex教程,特别是与RED5连接的相关知识,是Web开发领域中的一个重要主题,主要涉及Adobe Flex这一强大的富互联网应用程序(RIA)开发框架以及RED5这款开源流媒体服务器。在这篇文章中,我们将深入探讨Flex的基本概念...
1. **RTMP(Real Time Messaging Protocol)**:这是Red5最常用的传输协议,用于实时传输音频、视频和数据。它支持低延迟的流媒体,适用于直播场景。 2. **HLS(HTTP Live Streaming)**:这是一种基于HTTP的流媒体...
Red5是一款开源的流媒体服务器,它支持实时流传输协议(RTMP)、H.264、Flash视频(FLV)以及其他多种媒体格式,能够用于创建实时互动的应用,如视频聊天室、直播服务等。本项目利用Red5实现了多功能聊天室,提供了...
Red5 1.0.6是该软件的一个稳定版本,对于Web开发人员和流媒体服务提供者来说,是一个重要的工具。本项目是针对Red5 1.0.6的特定构建,优化了与Web应用集成的能力,并且特别适配了MyEclipse集成开发环境。 在描述中...
Flex或ActionScript是开发Red5客户端的常用工具,它们可以与Red5服务器进行数据交换,实现直播、点播、交互式应用等功能。 7. **HLS与HDS协议** HLS(HTTP Live Streaming)和HDS(HTTP Dynamic Streaming)是...
Flash是RED5常用的一种客户端技术,因为它提供了丰富的多媒体支持和良好的浏览器兼容性。在视频会议应用中,Flash客户端可以捕获用户的摄像头和麦克风输入,通过RTMP协议将数据发送到RED5服务器,同时接收并显示其他...
本项目结合了Android客户端和Red5流媒体服务器,实现视频通话、视频直播和视频点播功能。让我们深入探讨这个话题。 首先,Android视频直播涉及的主要技术是实时传输协议(RTMP)。RTMP是一种专为音频、视频数据实时...
标题中的"Red5安装软件"指的是Red5服务器的安装程序,这通常是一个可执行文件,例如在提供的文件名`setup-Red5-0.7.0.exe`中,这是Red5服务器版本0.7.0的安装包。 Red5的核心特性包括录制、播放、存储和分发流媒体...
- **Makefile**:这是一个Makefile文件,通常用于自动化构建过程,不过在Java项目中不常用,可能是为了在非Eclipse环境下编译Red5。 - **.project**:这是Eclipse项目的配置文件,包含了项目设置、构建路径等信息...
### 从硬盘安装Red Hat Linux 9.0的方法 #### 知识点一:Red Hat Linux 9.0概述 - **Red Hat Linux**:这是一个由Red Hat公司开发的Linux发行版,在2004年之前是其主要的产品。Red Hat Linux 9.0作为该系列的一个...
同时,需要了解Red5的基本API和协议,如RTMP(Real-Time Messaging Protocol),这是Flash与Red5之间常用的通信协议。 2. **创建Flash项目** 使用Flash Professional或者FlashDevelop等工具创建一个新的Flash项目...
标题中的“基于Red5 dsj 的Java处理视频流和一些疑问”表明了本文将探讨如何使用Java编程语言,借助Red5服务器,来处理视频流。Red5是一个开源的流媒体服务器,它支持实时流传输协议(RTMP)、HLS、RTSP等,广泛应用...