** Alex |
Отправлено: 13.11.2004, 20:36 |
|
Не зарегистрирован
|
В одноранговой сети (без сервака) есть главная программа и несколько клиентов. Вопрос как не зная IP клиентов, заставить главную программу оповестить о своём запуске клиентов и передать им что-то (ну например свой IP).
p.s. Переборы IP адресов и пинг не предлагать — нерационально.
p.s. Примеры кода не помешают, желательно под BCB 6
|
|
Георгий |
Отправлено: 14.11.2004, 19:26 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
широковещательная рассылка по протоколу UDP — там даже адрес ширововещательный зарезервирован и почти во всех сетевых API имеется соответствующая константа
|
|
Ajgor |
Отправлено: 15.11.2004, 17:59 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 23
|
Самый простой вариант:
на форму кидаеш компонент TNMUDP (вкладка FastNet), задаёш порт (допустим 8888), RemoteHost задаёш X.X.X.255, где три x это первые числа адреса в твоей сети (у меня это 10.0.9.255). В хелпе смотриш как послать данные (SendBuffer или SendStream). При запуске приклады посылаеш например "1234567". Ещё надо обрабатывать OnDataReceived (в хелпе есть пример). Если в OnDataReceived пришло "1234567" значит программа начала работать. Сообщение получают все машины в заданой сети. Хочеш послать конкретноя задай конкретный адрес. Вроде всё.
|
|
** Alex |
Отправлено: 27.11.2004, 12:52 |
|
Не зарегистрирован
|
QUOTE (Георгий @ 14/11/2004, 20:28) | широковещательная рассылка по протоколу UDP |
А пример можно ? ПЛЗ :-)
... А второй вариант попробую ... |
|
Георгий |
Отправлено: 27.11.2004, 15:25 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
пример запросто.
только, если внимательно посмотреть, что предлагал я и Ajgor, то обнаружится, что это одно и тоже.
пример на BCB6 под MSWindows и WinSock прилагается (кстати сделанный именно так, как предлагал Ajgor)
пример на WC10.6 под QNX4 и TCPToolkit 4.xx могу дать, но думаю толку от него будет мало..
|
|