PortUnification
단일 포트로 여러 서비스를 해주는 예제이다.
현재 요청하는 서비스가 무엇인지 판단하여 파이프라인에 현재 핸드러를 삭제하고 새로운 핸들러들을 등록하는 형태이다.
HTTP 서비스로 연결해주는 경우 아래와 같이 HTTP.snoop 예제에서 살펴본 것처럼 4개의 핸들러를 새롭게 등록하고 현재 핸들러(this)를 제거한다.
나머지들도 같은 패턴이다.
단일 포트로 여러 서비스를 해주는 예제이다.
현재 요청하는 서비스가 무엇인지 판단하여 파이프라인에 현재 핸드러를 삭제하고 새로운 핸들러들을 등록하는 형태이다.
HTTP 서비스로 연결해주는 경우 아래와 같이 HTTP.snoop 예제에서 살펴본 것처럼 4개의 핸들러를 새롭게 등록하고 현재 핸들러(this)를 제거한다.
147 private void switchToHttp(ChannelHandlerContext ctx) { 148 ChannelPipeline p = ctx.getPipeline(); 149 p.addLast("decoder", new HttpRequestDecoder()); 150 p.addLast("encoder", new HttpResponseEncoder()); 151 p.addLast("deflater", new HttpContentCompressor()); 152 p.addLast("handler", new HttpRequestHandler()); 153 p.remove(this); 154 }
나머지들도 같은 패턴이다.