Как передать данные с одного компьютера на другой, если они в разных сетях — c#? Пускай у меня есть два компьютера:
- один в локальной сети с "белым" ip 12.34.56.78 и имеет "серый" ip 192.168.0.2
- другой в локальной сети с "белым" ip 78.56.34.12 и имеет "серый" ip 192.168.0.3
Задача состоит в передаче массива байтов с одного компьютера на другой средствами c#. Примеры TCP/UDP-чатов нашел только те, которые работают внутри локальной сети и не более.
P.S. Читал про проброс портов, что нужно настраивать сам роутер. Из этого вытекает тогда другой вопрос - почему при скачивании чего-нибудь при помощи torrent'та не нужно настраивать роутер? Передача самого файла ведь происходит peer-to-peer.

21 Авг 2019 в 06:41
305 +2
0
Ответы
1

Для передачи данных с одного компьютера на другой через интернет, отличающихся внешними IP-адресами, можно использовать сокеты TCP или UDP. У каждого компьютера должен быть открыт доступ на определенном порту, который будет использоваться для передачи данных.

Например, на компьютере с "белым" IP 12.34.56.78 можно запустить серверный приложение, который будет ожидать подключения другого компьютера. Далее на компьютере с "белым" IP 78.56.34.12 можно запустить клиентское приложение, которое подключится к серверу через внешний IP и порт.

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

Относительно вашего вопроса о torrent: в torrent-сети данные передаются напрямую между пирами (peer-to-peer), поэтому для скачивания файлов через torrent не требуется настройка роутера. Когда компьютеру нужно скачать какой-то файл, он просто подключается к другим пирам напрямую, обходя роутеры, порты и firewall.

Надеюсь, это поможет вам решить вашу задачу по передаче данных между компьютерами с разными внешними IP.

20 Апр 2024 в 13:14
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир