Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.02.2012, 23:52
znseday znseday вне форума
Прохожий
 
Регистрация: 21.02.2012
Сообщения: 31
Версия Delphi: 2010
Репутация: 10
По умолчанию Indy UDP Передача данных в Интернет

Здравствуйте!
Использую компоненты IdUDPServer и IdUDPClient.
Необходимо, чтобы несколько запущенных программ на разных компьютерах (по всему Земному шару) могли периодически обмениваться данными (пакет данных очень маленький, гарантированность доставки некритична, поэтому решил использовать UDP).
Все прекрасно работает внутри локальной сети (адресса типа 192.168.xx.xx или 192.168.0.255 в групповом вещании).
Но непонятно, как посылать данные на компьютер, находящийся в сети Интернет. (Когда у всех пользователей ip вида 192.168.xx.xx, который им предоставил роутер).
Или кто-то находиться в кафе, где предоставлен временный ip, как мне ему отправить данные?
Если кто реально может помочь разобраться, могу скинуть исходник тестовой программки.
Ответить с цитированием
  #2  
Старый 22.02.2012, 03:54
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,035
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Только подняв сервис регистрации. Т.е. каждый клиент при подключении регистрируется на некотором сервере, адрес которого известен априори. Сервер запоминает этот адрес и либо сам рассылает извещения, либо предоставляет список адресов для рассылки. Ну и естественно, надо настроить PortForwarding для всех клиентов.
Ответить с цитированием
  #3  
Старый 22.02.2012, 10:58
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Если ты делаешь DNAT на unicast-адрес, то он конечно будет маршутизоваться. Но как только ты делаешь DNAT на broadcast-адрес, маршрутизатор получает право отбросить пакет. Будет ли работать port forwarding (один порт) на несколько unicast-адресов...
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 22.02.2012, 12:35
znseday znseday вне форума
Прохожий
 
Регистрация: 21.02.2012
Сообщения: 31
Версия Delphi: 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Только подняв сервис регистрации. Т.е. каждый клиент при подключении регистрируется на некотором сервере, адрес которого известен априори.

Может ли "сервером" быть просто интернет сайт компании? И идти работа по такой схеме: Клиент подключается к сайту и (по команде пользователя) оставляет там пакет данных с каким-нибудь индентификатором (имя рабочей группы, например). Другие Клиенты также подключаются к сайту и, скажем, раз в секунду проверяют есть ли там пакет с именем их рабочей группы, если есть, то скачивают.
Ответить с цитированием
  #5  
Старый 22.02.2012, 12:40
znseday znseday вне форума
Прохожий
 
Регистрация: 21.02.2012
Сообщения: 31
Версия Delphi: 2010
Репутация: 10
По умолчанию

Может, кто может поделиться готовым модулем, или примером небольшой программки, которые решали бы мою задачу (любым способом). Я всегда писал одиночные программные продукты, никогда раньше не занимался сетями и клиент-серверным взаимодействием, а сейчас срочно приперло.
Ответить с цитированием
  #6  
Старый 22.02.2012, 15:25
Аватар для Amgsys HQ
Amgsys HQ Amgsys HQ вне форума
Начинающий
 
Регистрация: 11.11.2011
Адрес: Загрузочный сектор
Сообщения: 115
Версия Delphi: 7, XE
Репутация: 538
По умолчанию

Как вариант, ты можешь использовать MySQL или MSSQL базы данных на сайте, чтобы хранить данные о клиентах. Клиент подключается к базе и оставляет там свои "контактные" данные. Еще вариант, почитать о CGI-скриптах на web-хостингах.
__________________
Работа пpогpаммиста и шамана имеет очень много общего:
оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter