Netty Server, при этом должен быть клиентом - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу создать сервер для подключения клиентов, поэтому с этого момента это только сервер.Но в то же время этот сервер - давайте назовем его «Сервер A» - ему нужно подключиться к другому серверу (я назову его «Сервер B»), чтобы сообщить свою собственную информацию, а не как прокси-сервер, который перенаправляет данные склиент на «Сервер B», только сообщать, что это информация, как «Я все еще в сети».

Итак, многие клиенты будут подключаться к «Серверу А», а «Сервер А» будет подключаться к «Серверу Б» в качестве клиента.Как я могу сделать это с помощью Netty?

Я прочитал пример прокси Netty, но я думаю, что прокси-сервер создает клиента, когда он получает временное соединение с клиентом.Но для этого мне нужна отдельная роль клиента на «Сервере А», а не так.Помоги мне, спасибо.

1 Ответ

0 голосов
/ 19 ноября 2018

Вы можете загрузить клиента на сервер B с помощью channelActive или любым другим способом вашего обработчика сервера A. Затем, после успешной загрузки клиента, вы можете отправить любое сообщение на ваш сервер B с помощью клиента.

Пример здесь: https://github.com/normanmaurer/netty-in-action/blob/2.0-SNAPSHOT/chapter8/src/main/java/nia/chapter8/BootstrapSharingEventLoopGroup.java

Вместо установки childHandler для вашего сервера, вы можете установить handler для ServerChannel. Тогда его методы будут вызываться только один раз для сервера, а не для каждого клиентского соединения.

...