2012-01-05 2 views
3

Jboss Netty를 사용하여 구현 된 네트워크 서버가 있습니다. 원시 TCP 및 HTTP를 통해 응용 프로그램을 서버로 실행하고 독립 실행 형 프로세스로 실행합니다. TCP로 연결된 클라이언트는 HTTP로 연결된 클라이언트로 데이터를 전송할 수 있으며 그 반대의 경우도 마찬가지입니다.서블릿 컨테이너의 Netty 기반 서버

이제는 서블릿 환경에서 작동하도록해야합니다. netty는 표준 방법을 제공합니까? 아니면 어댑터를 작성해야합니까? TCP 전송으로 무엇을 할 수 있습니까? 서블릿 컨테이너에 포함시킬 수 있습니까?

this는 비슷한 질문이지만 명확한 대답

+0

Netty 구현은 이미 HTTP를 처리합니까? 아니면 그냥 원시 TCP 연결을 처리합니까? 둘 다 이미 처리한다면 서블릿 컨테이너가 필요한 이유는 무엇입니까? – AngerClown

답변

2

없이 당신은 기존의 Netty 구현에 연결하는 HttpTunnelingServlet을 만들 수 있습니다. API 문서는 org.jboss.netty.channel.socket.http을 참조하십시오.

이 문서에서는 Spring 빈을 사용하여 Netty 설정을 수행합니다. 그러나 구성 및 설정을 ServletListener으로 옮기는 일은 쉬워야합니다. 설치가 서블릿 구성에 지정된 LocalAddress에 연결해야하기 때문에 이것이 작동한다면 100 % 확실하지 않습니다. 문제는 서블릿이 시작될 때까지 주소가 유효하지 않을 수 있다는 것입니다. 리스너가 시작한 후에 발생합니다. 또 다른 옵션은 HttpTunnelingServlet을 서브 클래 싱하고 init() 구현에 추가하는 것입니다.

사용하는 방법에 관계없이 이전에했던 것처럼 TCP 채널 등을 설정하고 시작해야합니다.

관련 문제