Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Вниз

Помогите с поиском сервера   Найти похожие ветки 

 
COOLer   (2005-04-20 16:20) [0]

Привет всем. Есть некий сервер, созданный в сети. Серевером является компонент TServerSocket. Как сделать так, чтобы клиенты написанные на TClientSocket смогли найти этот созданный сервер. Или же если для таких целей лучше использовать какие то другие компоненты, то расскажите (а если еще как использовать, то будет вообще замечательно). Спасибо.


 
Digitman ©   (2005-04-20 16:28) [1]


> COOLer


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

в кр.случае сервер после успешной активизации может разослать всем раб.станциям ЛВС средствами UDP-протокола UDP-broadcast-сообщение с детальной информацией о своей активности (hostname или IP-address + № порта) ... клиенты, получая такое сообщение теми же средствами UDP-протокола, получают тем самым инф-цию о местонахождении сервера и используют эту инф-цию для настроек своих TClientSocket


 
COOLer   (2005-04-20 17:13) [2]

Сервер может быть запущен а клиенты нет... и тогда они не смогут даже через UDP получить IP адрес и порт.


 
Digitman ©   (2005-04-21 11:56) [3]

ну тогда решение очевидно, хоть и дурное : вновь вылупившийся клиент сканирует интересующую его подсеть на предмет доступности хостов и активности сервисов (в задан.диапазоне портов)

как только "новоиспеченный" в цикле обнаруживает очередной доступный хост, он должен циклически перебрать порты в интересующем диапазоне и осуществить попытку коннекта к каждому из них с последующим "кратким" актом инф.обмена

если хост/порт доступен и сервис активен, это и есть условие прерывания циклов перебора


 
Eraser ©   (2005-04-21 12:23) [4]

COOLer

В любом случае необходим какой-то конкретный известный твоим программам порт... иначе надо делать сканер портов... в данном случае это изврат.

А так используй, как уже говорили, UDP broadcast или Multicast.


 
DiamondShark ©   (2005-04-21 12:29) [5]

А не проще ли новому клиенту посылать broabcast, на который будет отвечать сервер?


 
Eraser ©   (2005-04-21 12:44) [6]

DiamondShark ©

Именно так и надо делать.
Но для этого надо значть на какой порт броадкаст делать.

COOLer
Так что повторюсь необходим какой-то конкретный известный твоим программам порт.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.038 c
3-1119608159
Lordalexander
2005-06-24 14:15
2005.07.31
В-BDgrid


3-1119610707
serguncho
2005-06-24 14:58
2005.07.31
сложение с помощью SQL


1-1121167541
Alex_C
2005-07-12 15:25
2005.07.31
Как сдедать чтобы Hint не пропадал?


3-1119375561
Prov
2005-06-21 21:39
2005.07.31
результат SQL-запроса


1-1121025994
mmms
2005-07-11 00:06
2005.07.31
Как "распутать" обратный путь в TTreeView у TTreeNode





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский