JBoss netty: Как интегрировать Telnet-соединение в отдельный поток?

Я работаю над веб-приложением, которое соединяет ограниченное количество устройств Android (150) через WebSockets в закрытой сетевой среде на основе jboss netty. Серверу netty также необходимо пересылать команды через telnet в другую систему, поэтому netty использует telnet в качестве клиента (пакет telnet apache).

Мне интересно, как интегрировать это telnet-соединение в приложение netty websocket. Я рассматриваю следующие варианты:

  • Инкапсулируйте соединение Telnet и средство чтения Telnet в два отдельных потока.
  • Инкапсулируйте соединение Telnet в актере akka, который запускает отдельный поток чтения.
  • Инкапсулируйте соединение Telnect в классе, который запускает поток чтения.

Мои вопросы:

  • Возможно ли и стоит ли запускать потоки из netty?
  • Возможно ли и стоит ли использовать актера, который запускает поток?

Любые предложения относительно того, как решить проблему, высоко ценятся.

Ваше здоровье

Питер


person Peter Buchmann    schedule 22.12.2011    source источник
comment
Не понимаю, зачем создавать свои темы.   -  person Viktor Klang    schedule 22.12.2011


Ответы (1)


Вы можете сделать это (запустить потоки), но я бы по возможности избегал этого. Лучше написать свой собственный telnet-клиент с netty и, таким образом, использовать его природу nio. Это должно быть прямолинейно.

Таким образом, вы можете свести потоки к минимуму и получить максимальную пропускную способность.

person Norman Maurer    schedule 22.12.2011
comment
Большое спасибо за ваше предложение. Я просмотрел пример клиента telnet, который поставляется с netty 4, он работает, но также основан на потоках (пулах потоков). - person Peter Buchmann; 24.12.2011