Netty: подключение двух каналов - PullRequest
0 голосов
/ 21 января 2012

Допустим, простой нетти-сервер:

Когда подключится первый клиент, мы запомним канал. Если второй клиент подключается, мы хотим подключить его к первому каналу, чтобы все, что записано на первом канале, было записано на втором, и наоборот.

Наконец, это простое приложение будет похоже на чат telnet-to-telnet.

Ответы [ 2 ]

2 голосов
/ 21 января 2012

Добавьте оба канала в группу DefaultChannelGroup и сохраните ссылку на нее.Затем, когда вы хотите записать в каналы, просто вызовите метод write (...) для ChannelGroup.

0 голосов
/ 22 января 2012

Как я знаю, прямого соединения двух каналов сокетов не существует. (но есть способы подключения не сокетных каналов, двух локальных каналов с использованием LocalChannel, произвольного входного потока вывода с использованием IOStreamChannel ).

Я думаю, что эту проблему можно решить с помощью обработчика мостового канала (extends SimpleChannelHandler) в конвейере, который добавляет / удаляет канал в хэш-таблицу на channelConnected (), channelDisconnected (), а также на messageReceived () получает исправьте одноранговый канал и напишите ему сообщение.

...