2013-03-19 2 views
6

Я довольно новичок в Netty, но как реализовать случай в Netty 4.x, когда несколько протоколов (например, P1 и P2) инкапсулированы внутри другого протокола?Netty вложенные конвейеры/мультиплексирование

   +-------------+ 
       | decoder | 
       +-------------+ 
       | encoder | 
       +-------------+ 
       | muxer | 
       +-------------+ 
       | demuxer | 
       +---+------+--+ 
        |  | 
        |  | 
      +------+  +------+ 
      |     | 
      |     | 
      v     v 
    +-------------+  +-------------+ 
    | P1 decoder |  | P2 decoder | 
    +-------------+  +-------------+ 
    | P1 encoder |  | P2 encoder | 
    +-------------+  +-------------+ 
    | P1 handler |  | P2 handler | 
    +-------------+  +-------------+ 

Есть ли способ для создания вложенных трубопроводов, так что decoder<->encoder<->muxer<->demuxer будет магистральный трубопровод будет посылать данные вдоль P1 или P2 трубопровода на основе решения демультиплексора?

Или, может быть, есть способ каким-то образом создать (для ясности) «подканалы» с собственными трубопроводами?

ответ

2

Пока нет поддержки для «вложенных трубопроводов». Он может быть частью 4.1.0. Теперь вам нужно удалить/добавить обработчики на лету.

См. [1] для примера.

[1] https://github.com/netty/netty/blob/master/example/src/main/java/io/netty/example/portunification/PortUnificationServerHandler.java

+0

Что относительно сейчас? Все еще не поддерживается? –

+0

нет ... до сих пор нет поддержки. –

+0

Итак, чтобы реализовать какое-то мультиплексирование, мне нужно добавлять/удалять обработчики на лету? Кажется, нужно ввести некоторую задержку ... Может быть, есть лучший способ? –

 Смежные вопросы

  • Нет связанных вопросов^_^