Как видно из названия, я создаю TCP-клиент и серверную программу на C++. Мой вопрос: когда клиент и сервер работают на двух разных машинах, которые проходят через другой межсетевой экран через Интернет, имеет ли значение, какой маршрутизатор имеет перенаправленные порты? Ex. Может ли только маршрутизатор, используемый клиентским компьютером, иметь правильные перенаправленные порты TCP, и соединение клиент-сервер будет установлено?

1 ответ1

0

Предполагая, что все TCP-соединения, которые используют эти программы, инициируются клиентом, маршрутизатор в сети сервера должен быть настроен на статическую трансляцию адресов портов (перенаправление всех соединений для указанного порта на сервер приложений), ИЛИ серверу понадобятся публичный IP.

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

Если ваш сервер может инициировать сеанс TCP с клиентом, все становится сложнее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .