Подключение к компьютеру удаленно - PullRequest
0 голосов
/ 13 марта 2012

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

http://www.win32developer.com/tutorial/winsock/winsock_tutorial_1.shtm

Я могу подключить клиентскую программу, например, к 192.168.0.4 в моей локальной сети, и подключить ее к 74.125.225.96.Но что, если я хотел бы установить связь с 192.168.0.4 в сети 74.125.225.96, а не просто с сервером по умолчанию на 74.125.225.96?Мне сложно найти ответ в Google.

Есть ли способ сделать это?Если нет, то как Gnutella и Bittorrent могут напрямую соединять компьютеры для обмена файлами?

1 Ответ

1 голос
/ 14 марта 2012

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

BitTorrent и другие приложения для обмена файлами используют различные методы, такие как обход NAT, пробивание отверстий и т. Д., Для получения соединений через маршрутизаторы и брандмауэры. Например, если одна сторона находится за маршрутизатором / брандмауэром, а другая - нет, тогда два приложения сначала пытаются соединиться друг с другом в одном направлении, а если это не удается, то они меняют роли - клиент становится сервером, а сервер становится клиентом - и они попробуют снова. Если это по-прежнему не удается, они могут подключиться к серверу-посреднику, к которому имеют доступ обе стороны, и позволить ему делегировать соединения.

...