Flex 와.NET 의 상호작용(10):FluorineFX.Net 의 신속 한 통신 응용(ApplicationAdapter)(1)

응용 프로그램 어댑터 대상 도 플래시 미디어 서버 응용 프로그램의 대상 에 해당 한다.
FluorineFx.Net 을 사용 하여 적시에 통신 응용 프로그램 을 개발 할 수 있 습 니 다.우 리 는 ASP.NET 사 이 트 를 통 해 숙주 가 될 수 있 습 니 다.하나의 ASP.NET 사 이 트 는 여러 개의 실시 간 통신 응용 프로그램 을 탑재 할 수 있 습 니 다.이 프로그램 들 은 ASP.NET 사이트 의 루트 디 렉 터 리 에 지정 한 폴 더 의 루트 디 렉 터 리 를 저장 합 니 다.다음 그림:
                               
      FluorineFx 의 신속 한 통신 애플 리 케 이 션 을 개발 할 때 FluorineFx 의 디 렉 터 리 구조 에 따라 ASP.NET 의 사이트 디 렉 터 리 를 설정 하 는 것 은 매우 간단 합 니 다.ASP.NET 사이트 아래 에 apps 라 는 디 렉 터 리 를 만 들 면 FluorineFx 는 이 디 렉 터 리 아래 의 모든 파일 폴 더 가 FluorineFx 애플 리 케 이 션 을 나타 낸다 고 생각 합 니 다.
      우 리 는 FluorineFx 를 통 해 적시에 문자 채 팅,영상 채 팅,영상 녹화,미디어 재생 프로그램 과 WebGame 등 유사 한 적시에 응용 프로그램 을 개발 할 수 있다.예 를 들 어 우 리 는 영상 채 팅 시스템 을 개발 해 야 합 니 다.OK.그러면 ASP.NET 사이트 디 렉 터 리 에 apps 디 렉 터 리 를 만 든 다음 에 apps 다음 에 VideoChat 라 는 디 렉 터 리 를 만 듭 니 다.다음 디 렉 터 리 구 조 는 다음 과 같 습 니 다.
                              
       Flash 나 Flex 클 라 이언 트 에서 우 리 는 아래 코드 를 사용 하여 FluorineFx 기반 영상 채 팅 애플 리 케 이 션 에 연결 할 수 있 습 니 다.
private var ns:NetConnection;public function ConnectionFxApp():void{    ns = new NetConnection();    ns.connect("rtmp://localhost:1974/VideoChat");    ns.client=this;    ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);}private function onNetStatusHandler(evt:NetStatusEvent):void{}
      모든 응용 프로그램 은 자신의 응용 범위 와 차원 의 근원 을 가지 고 있 는데 이것 은 FMS,Red5 와 같은 규칙 이다.범위 든 차원 이 든 그 는 유일한 이름(응용 명,인 스 턴 스 명 등)을 가지 고 구분 하고 우 리 는 그들 을 응용 프로그램의 인 스 턴 스 라 고 부 를 수 있다.이 사례 들 은 채 팅 방,동 영상 흐름,공유 대상 등 이 될 수 있다.   
                                 
      이런 것들 은 사실 매우 이해 하기 쉽다.예 를 들 어 위의 그림 과 같은 채 팅 방 의 분 배 는 각각 Room 1,Room 2,Room 3 세 개의 채 팅 방 이 있다.그러면 VideoChat 이라는 채 팅 응용 프로그램 에 있어 영상 채 팅 을 하려 면 세 개의 연결 라인 이 있 는데 그것 이 바로 다음 과 같다.
      1、 http://localhost:1974/VideoChat/Room1
      2、 http://localhost:1974/VideoChat/Room2
      3、 http://localhost:1974/VideoChat/Room3
      채 팅 방과 애플 리 케 이 션 의 차원 을 제외 하고 애플 리 케 이 션 에는 동 영상 스 트림,공유 대상 등 이 있다.그들 은 공동으로 응용 할 수도 있 고 서로 다른 방 에 서로 다른 공유 대상 을 만 들 수도 있다.만약 에 서로 다른 방 의 사용자 가 서로 이 야 기 를 나 누고 다른 방 의 사람들 에 게 보 여주 고 싶 지 않다 면 OK.이때 이 방 을 위해 독립 적 으로 공유 대상 을 만들어 실현 할 수 있다.
      개발 프로그램 이 클 라 이언 트 에 연결 하고 서버 이벤트 처리,클 라 이언 트 호출 방법 등 을 처리 하려 면 응용 프로그램 어댑터(ApplicationAdapter)를 사용자 정의 해 야 합 니 다.이 어댑터 는 FluorineFX.Messaging.adapter.ApplicationAdapter 를 계승 하고 실현 해 야 합 니 다.FluorineFX.Messaging.adapter.applicationAdapter 는 새로운 응용 프로그램의 기본 클래스 로 클 라 이언 트 와 응용 프로그램 간 통신 의 인터페이스 방법,데이터 흐름 과 공유 대상 등 을 제공 합 니 다.이것 은 프로그램의 시작,정지,클 라 이언 트 의 연결 과 끊 기 를 수시로 처리 할 수 있 습 니 다
      Flash 나 Flex 클 라 이언 트 에서 저 희 는 NetConnectin.call()을 통 해 응용 프로그램 어댑터 를 호출 할 수 있 습 니 다.다음 예제 코드 블록:
서버 측 응용 어댑터 가 정의 하 는 코드:
public class Application : ApplicationAdapter{   public string Echo(string msg)   {      return "Echo: " + msg;   }}
Flash/Flex 클 라 이언 트 는 다음 코드 블록 을 통 해 서버 단 을 호출 할 수 있 습 니 다.
private var ns:NetConnection;private function CallServerMethod():void{    nc = new NetConnection();    nc.connect("rtmp://localhost:1974/application");    nc.onResult = function(obj)     {        trace("The result is " + obj);    }    nc.call("Echo", nc, "Hello");}
     본 고 는 여기까지 소개 하 겠 습 니 다.다음은 이 편 에 이 어 FluorineFX.NET 에서 클 라 이언 트 가 서버 단 을 호출 하 는 방법 과 서버 단 에서 클 라 이언 트 를 호출 하 는 방법 을 소개 합 니 다.

좋은 웹페이지 즐겨찾기