Назад | Перейти на главную страницу

Подключите несколько клиентов к TCP-серверу специального назначения, который одновременно принимает одно соединение.

У меня есть сервер и клиенты A и B. Клиенты A и B идентичны. На данный момент клиент A подключается к серверу через постоянное долгоживущее TCP-соединение. В настоящее время, если я хочу выполнить перезапуск обслуживания на клиенте A, я должен его выключить и установить новое соединение с клиентом B, а затем выполнить обслуживание на клиенте A. Наконец, когда клиент A готов, я отключаю клиент B и подключаю сервер от клиента A. Если я хочу настроить активный-активный без отключения от сервера, как этого добиться?

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

Я думаю о чем-то вроде «jumpbox» посередине, где «jumpbox» подключается к серверу через долгоживущее TCP-соединение. Клиенты A и B должны иметь возможность подключаться к «jumpbox» одновременно, и оба должны иметь возможность отправлять данные на сервер через «jumpbox». В течение всего времени соединение между сервером и «jumpbox» не должно прерываться. Это возможно?

Изменить: скажем, я запускаю nc -l 35000 на сервере. Я должен иметь возможность подключиться к серверу как с клиента A, так и с клиента B, например, nc 35000. Если я что-то наберу либо на клиенте A, либо на клиенте B, его нужно отправить на сервер

Все это основано на предположении, что на сервере работает разновидность Linux. Я бы использовал промежуточный ящик для установления соединений с сервером, чтобы он «удерживал» соединения. Клиент A или B будет использовать SSH в среднем поле или "jumpbox" и подключиться к Экран консоль, в которой есть открытые сеансы.