Страница 1 из 1

Опрос сети.

Добавлено: 14 окт 2009, 13:57
atavin-ta
В локальной сети (Fast ethernet, TCP/IP) на нескольких компах загружена серверная программа с определённым номером порта в сокете. Номер этот я знаю, задача не в нём. Ещё на одной машине загружен клиент. А теперь задача: вывалить на экран клиента список адресов всех серверов указанного порта, но строго в локальной сети. Даже при наличии активного интернет-шлюза, черз него лезть не надо. Желательно даже строго в предлах своей рабочей группы или домена, в зависимости от того, куда входит тот комп, на котором загружен клиент. Как это сделать так, чтобы не надо было вручную вводить список адресов, подлежащих проверке того, загружен ли на них сервер? И список серверов не должен скачиваться в готовом виде с одного из них при соединении с ним. Вё это задумано, чтобы выбтрать сервер для соединения с ним мышью. И чтобы ещё поменьше ждать. Три адреса из девятнадцати при одном клиеннте не более, чем за минуту, в идеале - быстрее, чем за 100 мс. Можно это вообще сделать? Как именно? Киньте код по болэнд c++у.

Re: Опрос сети.

Добавлено: 14 окт 2009, 22:04
Romeo
Кода нет, но есть идея. Почему не воспользоваться широковещательным сообщением? На каких-то компах порт будет не занят, на каких-то компах работающий сервак откликнется. По пришедшим ответам и сформируешь список компьютеров.

Re: Опрос сети.

Добавлено: 15 окт 2009, 11:26
atavin-ta
&quot писал(а):Почему не воспользоваться широковещательным сообщением?
Наверное, так и надо. Но как вообще отправить такой пакет? Китьне синтакиси функциии, а то я умею только через готовые компоненты-сокеты, а там по-моему требуется подключение к адресу и порту. Где искать инфу о том, что должно быть в пакете? И как ловить ответ сервака? И куда именно уйдёт запрос? Из домена выйдет? А из рабочей группы? Хотя учёт границ домена и рабочей группы не обязателен. а только желателен.