2011-12-11 3 views
3

기존 BIO (IO 차단)를 사용하는 기존 앱 (HTTP 및 원시 TCP)이 있으며 Netty로 교체하려고합니다.블로킹 IO 클라이언트, 브라우저가있는 Netty

Netty는 전통적인 BIO 클라이언트와 어떻게 작동합니까? 처음에 서버 구성 요소를 Netty로 바꾸고 BIO 클라이언트를 그대로두면 문제가 있습니까?

또한 Netty 내장 서버는 서버 브라우저 클라이언트를위한 일반적인 HTTP 웹 서버를 대체 할 수 있습니까? 거기에 문제가 있습니까? 그물코가 (org.jboss.netty.channel.socket.oio를) 차단 및 비 차단 (org.jboss.netty.channel.socket.nio) 작업을 지원하는 것이

감사

답변

2

나의 이해이다. 자세한 내용은 http://docs.jboss.org/netty/3.2/guide/html/architecture.html 섹션 2.2를 참조하십시오.

블로킹과 비 블로킹 사이를 전환하기 쉽기 때문에 NIO로 시도 할 수 있으며 클라이언트와 함께 사용하지 않으면 OIO로 전환 할 수 있습니다. 당신은 설치가 그물코 기반의 HTTP 웹 서버/워크를 기존의 숫자 이미 구현이 있습니다

// NIO - non blocking 
ChannelFactory factory = 
     new NioSeverSocketChannelFactory(
       Executors.newCachedThreadPool(), 
       Executors.newCachedThreadPool()); 

//OIO - blocking 
ChannelFactory factory = 
     new OioServerSocketChannelFactory(
       Executors.newCachedThreadPool(), 
       Executors.newCachedThreadPool()); 

을 ChannelFactory에하는 당신이 당신과 함께 지원하기 위해, 소원 IO의 종류를 설정합니다. 예를 들어, webbit, xitrumplay framework입니다. 나는 더 많은 것이있을 것이라고 확신한다. 이것들은 내 머리 꼭대기에서 생각할 수있는 것들입니다.

직접 구현하려는 경우 org.jboss.netty.example.http 패키지의 예가 좋습니다.

+0

고마워요! 훌륭한 자료입니다 .... 행복한 새해 –

+0

Netty는 자체 OIO 라이브러리를 보유하고 있습니까? 아니면 제 3 자 (jboss) 라이브러리입니까? –

관련 문제