Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 14:59   #1
mishanama
Пользователь
 
Регистрация: 04.06.2009
Сообщений: 22
По умолчанию Прямой обмен данными между компьютерами через интернет

Здраствуйте. Вопрос собственно в заголовке темы.
Подобные обсуждения уже есть на форуме - но там отсылки типа "юзай файлообменники" и "нафига это нужно".
Есть программа (уже давно работающая), которая реализует функции "облачного" плеера. На данный момент, "облачность" реализуется посредством размещения файлов на моих серверах, а также добавлением в каталог, лежащий на сервере, прямых ссылок на файлы лежащие на разных сайтах по всей сети. Если кто-то имеет желание поделится своими ссылками - заходит на спец. форум, и размещает их там. После проверки, я добавляю их в каталог.
Пользователи подбросили идею - сделать возможным добавление файлов прямо из программы, причем файлы хранятся на компьютере пользователя. То-есть получается одноранговая сеть.
Есть мысля сделать это так: при расшаривании файла, экзепляр программы посылает на сервер список файлов, с привязкой их по ip (напр. в текстовом файле. Название файла - адрес отправителя). Ip может быть динамическим, поэтому нужно организовать на том же сервере аналог dyndns. В принципе, каждый экземпляр программы будет представлять ftp сервер/клиент с динамическим ip.
И вот тут вопрос: Как правильно организовать аналог dynDns?
Проще так - как получить доступ к ftp серверу по его динамическому ip (пусть даже серому). Например тот что выдается всякими сервисами типа "какой мой ip" - не годиться. По нему доступ не идет, да он и актуален только для маршрутизатора (т.е. по нему можно попасть в веб-интерфейс роутера\маршрутизатора, а дальше - нет). Думал использовать tracert. Но маршрут то я получаю, но чего с ним делать потом? Как указать ftp клиенту - "зайди на 192.166.235.235 через 246.123.231.222 через..."? Просто с такой проблемой столкнулся впервые.
Может есть какой другой вариант организации обмена? Как он сделан например в скайпе или других подобных прогах? Ведь все упираеться, я так думаю, в тот же сервер где хранятся и раздаются DNS. Была мысль еще VPN - но тут я просто не нашел программных способов доступа к vpn (бибилотека может есть какая? неважно на чем, хоть на фортране)
ЗЫ. У меня для эксперимента стоит filezilla сервер и такой же клиент. Если кто-то знает как мне через динамику и NAT получить доступ к серверу (на одну сессию, используя тот ip что есть) - это и будет ответ на мой вопрос. Дальше разберусь.
mishanama вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обмен данными между программами nestor_petrovitch Общие вопросы Delphi 3 05.02.2012 20:56
обмен данными между формами zirm Общие вопросы Delphi 4 11.07.2011 22:39
Обмен данными между формами через переменную типа boolean Человек_Борща Общие вопросы Delphi 3 22.01.2010 20:17
Обмен данными между С++ и С# Stellvertreter Общие вопросы C/C++ 0 14.11.2008 14:18
Обмен данными между формами Demien Общие вопросы Delphi 14 23.04.2008 22:04