Несколько TCP-соединений от одного клиента к одному серверу одновременно - PullRequest
0 голосов
/ 10 октября 2018

Мой вопрос тоже в заголовке.Например, я являюсь клиентом и пытаюсь подключить один сервер одновременно.

Вот ситуация

IP-адрес сервера: 10.10.10.10 Порт сервера: 1010

Клиент имеет две темы.Один из потоков соединяется с Сервером и поддерживает соединение живым.Всегда на связи.Всегда получает мертвый или живой сигнал с сервера.

Второй поток отправляет поток сообщений.Этот поток получает информацию из своего однорангового потока и, если подключенный хост работает, отправляет сообщение.

Я пытаюсь реализовать эту ситуацию в Java с использованием netty, но поток отправителя сообщения не может установить соединение с хостом.

Это проблема с моим кодом или протоколом tcp?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Может быть из-за того, как сервер обрабатывает соединения.Если он однопоточный и обрабатывает только одно соединение за раз, это может быть причиной.Это означает, что сервер удерживает ваше первое соединение из потока 1, и, хотя оно все еще не завершено, он не может принять другое соединение (из потока 2 в вашем случае).Попробуйте обработать каждое соединение в отдельном потоке или мультиплексировать, используя java.nio.channels.Selector.

(Это мог бы быть комментарий. Но у меня нет представителей.)

0 голосов
/ 10 октября 2018

Это полностью поддерживается в tcp, поэтому вы должны отладить код.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...