|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Indy UDP Передача данных в Интернет
Здравствуйте!
Использую компоненты IdUDPServer и IdUDPClient. Необходимо, чтобы несколько запущенных программ на разных компьютерах (по всему Земному шару) могли периодически обмениваться данными (пакет данных очень маленький, гарантированность доставки некритична, поэтому решил использовать UDP). Все прекрасно работает внутри локальной сети (адресса типа 192.168.xx.xx или 192.168.0.255 в групповом вещании). Но непонятно, как посылать данные на компьютер, находящийся в сети Интернет. (Когда у всех пользователей ip вида 192.168.xx.xx, который им предоставил роутер). Или кто-то находиться в кафе, где предоставлен временный ip, как мне ему отправить данные? Если кто реально может помочь разобраться, могу скинуть исходник тестовой программки. |
#2
|
|||
|
|||
Только подняв сервис регистрации. Т.е. каждый клиент при подключении регистрируется на некотором сервере, адрес которого известен априори. Сервер запоминает этот адрес и либо сам рассылает извещения, либо предоставляет список адресов для рассылки. Ну и естественно, надо настроить PortForwarding для всех клиентов.
|
#3
|
||||
|
||||
Если ты делаешь DNAT на unicast-адрес, то он конечно будет маршутизоваться. Но как только ты делаешь DNAT на broadcast-адрес, маршрутизатор получает право отбросить пакет. Будет ли работать port forwarding (один порт) на несколько unicast-адресов...
Пишу программы за еду. __________________ |
#4
|
|||
|
|||
Цитата:
Может ли "сервером" быть просто интернет сайт компании? И идти работа по такой схеме: Клиент подключается к сайту и (по команде пользователя) оставляет там пакет данных с каким-нибудь индентификатором (имя рабочей группы, например). Другие Клиенты также подключаются к сайту и, скажем, раз в секунду проверяют есть ли там пакет с именем их рабочей группы, если есть, то скачивают. |
#5
|
|||
|
|||
Может, кто может поделиться готовым модулем, или примером небольшой программки, которые решали бы мою задачу (любым способом). Я всегда писал одиночные программные продукты, никогда раньше не занимался сетями и клиент-серверным взаимодействием, а сейчас срочно приперло.
|
#6
|
||||
|
||||
Как вариант, ты можешь использовать MySQL или MSSQL базы данных на сайте, чтобы хранить данные о клиентах. Клиент подключается к базе и оставляет там свои "контактные" данные. Еще вариант, почитать о CGI-скриптах на web-хостингах.
Работа пpогpаммиста и шамана имеет очень много общего: оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает. |