2013-03-19 20 views
6

Jestem całkiem nowy dla Netty, ale jak wdrożyć przypadek w Netty 4.x, gdy kilka protokołów (np. P1 i P2) jest zamkniętych w innym protokole?Netty zagnieżdżonych potoków/multipleksowanie

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

Czy istnieje sposób, aby tworzyć zagnieżdżone rurociągów, tak że decoder<->encoder<->muxer<->demuxer jako główny rurociąg będzie wysyłać dane wzdłuż P1 lub P2 rurociągu na podstawie decyzji demuxera?

A może jest jakiś sposób, aby w jakiś sposób stworzyć (ze względu na przejrzystość) "podkanały" za pomocą własnych potoków?

Odpowiedz

2

Nie ma jeszcze wsparcia dla "zagnieżdżonych rurociągów". Może być częścią 4.1.0. Na razie musisz usunąć/dodać moduły obsługi w locie.

Zobacz [1] na przykład.

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

+0

Co teraz? Nadal nie jest obsługiwane? –

+0

nie ... wciąż nie ma wsparcia. –

+0

Tak więc, aby zaimplementować jakieś multipleksowanie, muszę dodawać/usuwać programy obsługi w locie? Wydaje się wprowadzić opóźnienie ... Może jest lepszy sposób? –