一 首先了解ApplicationAdapter里的几个重要方法:
appStart :Red5启动的时候调用
appConnect :客户端与服务端建立连接的时候调用
appDisconnect:客户端断开连接的时候调用
我们在Application里,重写这三个方法,分别加上三个打印语句
@Override
public boolean appStart(IScope scope) {
System.out.println("启动Red5服务。。。。。。");
return supder.appStart(scope);
}
@Override
public boolean appConnect(IConnection conn, Object[] args) {
System.out.println("有一个连接。。。。。。");
return super.appConnect(conn, args);
}
@Override
public void appDisconnect(IConnection conn){
System.out.println(“断开一个连接。。。。。。");
super.appDisconnect(conn);
}
二 新建一个Flex项目,做为客户端Client
在Client.mxml里加上
private var nc:NetConnection;
public function connect():void{
nc = new NetConnection();
n.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, netSecurityError);
nc.connect("rtmp://localhost/red5Server");
nc.client = this;
}
private function netStatus(e:NetStatusEvent):void{
Alert.show(e.info.code);
}
private function netSecurityError(e:SecurityErrorEvent):void{
Alert.show("connectError:" + e);
}
三 测试
1 启动Red5服务,控制台打印出"启动Red5服务。。。。。",说明,Red5启动时,调用appStart方法
2 启动Client,当调用connect方法时,若返回的为NetConnection.Connect.Success,则说明连接成功,控制台打印出“有一个连接。。。。。”
3 关闭Client,控制台打印出“断开一个连接。。。。。。”