red5的常用方法

转载 2011年01月15日 16:56:00

在使用red5+flash做rpg游戏开发的时候有些功能是需要服务器来提供的,如最简单的多人用户上线,当一个用户上线后后要通知所有其他的用户,这个时候就需要red5去获取所用链接的客户端,然后通知客户端用户上线。当用户下线的时候,也是同样的需要red5的支持。 我在开发的时候是使用red5 0.8的版本。 下面详细介绍一下具体的实现。 ApplicationAdapter是客户端与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+flash做rpg游戏开发的时候有些功能是需要服务器来提供的,如最简单的多人用户上线,当一个用户上线后后要通知所有其他的用户,这个时候就需要red5去获取所用链接的客户端,然后通知客户...

VMware 中Red Hat Enterprise Linux 5 系统安装VMware tools 及释放鼠标方法

VMware 中Red Hat Enterprise Linux 5 系统安装VMware tools 及释放鼠标方法                               作者:Mr Che...

抛弃LCDS和FMS,在tomcat下开发Red5应用(第四篇)-客户端和服务器端的方法互相调用

客户端和服务器端的方法相互调用比较重要,在线列表基本上全是用这种方式实现的,当然也有使用RemoteSharedObject来实现的,但本人不太喜欢用RemoteSharedObject,只是用Rem...

抛弃LCDS和FMS,在tomcat下开发Red5应用(第五篇)-客户端和服务器端方法调用的参数传递

在上一篇演示了客户端和服务器端方法调用,其实已经一并演示了参数传递的过程,但都是基本数据类型(ps:AS3的String,int,Number,Boolean,Array,Object对应到red5这...

html5 - 基础格式认识和标签用法(文本元素常用方法)

实例01 第一个实例的html5

iOS常用加密方法(aes、md5、base64)

iOS常用加密方法(aes、md5、base64) 1、AES加密 NSData+AES.h文件 [plain] view plaincopy ...

Lucene5 学习笔记(3) —— 重用 IndexReader 和常用的搜索方法

02_lucene简介和搜索初步.avi

5大常用网站推广方法 吸引大流量

网站推广就是以互联网为主要手段进行的,为达到一定营销目的的推广活动。网站推广是指将网站推广到国内各大知名网站和搜索引擎。网站推广,是每个网站都必须要做的重点工作,如果一个网站没有流量的话,就是一文不值...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:red5的常用方法
举报原因:
原因补充:

(最多只允许输入30个字)