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

Что мне нужно для успешного подключения? клиент и сервер должны использовать переадресацию портов? или только сервер нуждается в переадресации портов?

1 ответ1

0

Только маршрутизатор на стороне сервера будет нуждаться в переадресации порта. Давайте посмотрим на это по-другому: когда судьба станет неоднозначной? На стороне сервера, поскольку клиент подключается к 1 внешнему IP-адресу, но есть несколько возможных хостов, на которые он может в конечном итоге перейти. Если в маршрутизаторе нет сопоставления, которое говорит, например, что TCP-порт 80 должен быть перенаправлен на узел x, то указанный маршрутизатор не будет знать, что делать, потому что существует множество возможностей, и он не может просто выбрать один из них случайным образом.

Потому что картина может сказать тысячу слов:Перенаправление порта

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