一 首先了解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,控制檯打印出“斷開一個連接。。。。。。”