Насколько я понимаю, netty поддерживает блокирующие (org.jboss.netty.channel.socket.oio
) и неблокирующие (org.jboss.netty.channel.socket.nio
) операции.См. http://docs.jboss.org/netty/3.2/guide/html/architecture.html раздел 2.2.
Легко переключаться между блокировкой и неблокировкой, поэтому вы можете попробовать с NIO, а если это не с вашими клиентами, вы можете переключиться на OIO.Вы устанавливаете тип ввода-вывода, который хотите поддерживать, и настраиваете ChannelFactory
// NIO - non blocking
ChannelFactory factory =
new NioSeverSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
//OIO - blocking
ChannelFactory factory =
new OioServerSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
. Уже существует ряд уже реализованных HTTP-веб-серверов на базе Netty.Например, webbit , xitrum и play framework .Я уверен, что есть еще.Это только те, о которых я могу подумать.
Если вы хотите реализовать свои собственные, хорошей отправной точкой являются примеры в пакете org.jboss.netty.example.http
.