Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/14: Рейтинг темы: голосов - 14, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 2
1

Список IP-адресов в локальной сети

15.10.2007, 14:05. Показов 2559. Ответов 2
Метки нет (Все метки)

Как, зная адрес и маску подсети, с помощью Windows API получить список IP всех хостов?

Пингование всех возможных адресов не годится.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.10.2007, 14:05
Ответы с готовыми решениями:

Какой функцией получить список IP-адресов на локальной машине?
Какой функцией на Ц получить список IP-адресов на локальной машине?

Список всех устройств в локальной сети для работы с файлами
На компьютере есть 10-15(в разное время по разному) устройств в локальной сети. И на одном из этих...

Программа в локальной сети на с++
Хочу попробовать написать программу которая работает через допустим 8888 порт.Например есть у меня...

Создание кластера на локальной сети
Так звучит тема дипломной работы. Как я понял это объединение нескольких компьютеров для решения...

2
Ghost
16.10.2007, 11:39 2
Ну, например, поспрошать DHCP Если он есть
0 / 0 / 1
Регистрация: 17.02.2016
Сообщений: 47
03.01.2011, 14:45 3
можно просто вычислить самому:

procedure GetAddressesRange(IPAddress: string; SubnetMask: string; var Ips: TStringList);

var Count: LongInt;
I:LongInt;
IP: LongInt;
tmpStr: string;
addr, mask: LongInt;
Str: string;
begin
tmpStr := ''
Str := '$'
if ipAddress[Length(ipAddress)] <> '.' then
ipAddress := ipAddress + '.'

if SubnetMask[Length(SubnetMask)] <> '.' then
SubnetMask := SubnetMask + '.'

for I:=1 to Length(ipAddress) do
begin
if ipAddress[i] <> '.' then
tmpStr := tmpStr + ipAddress[i]
else
begin
Str := Str + IntToHex(StrToInt(tmpStr),2);
tmpStr := ''
end;
end;
Addr := StrToInt(Str);

tmpStr := ''
Str := '$'

for I:=1 to Length(SubnetMask) do
begin
if SubnetMask[i] <> '.' then
tmpStr := tmpStr + SubnetMask[i]
else
begin
Str := Str + IntToHex(StrToInt(tmpStr),2);
tmpStr := ''
end;
end;
Mask := StrToInt(Str);

Ips := nil;
Ips := TstringList.Create;
Ips.Clear;

I:=0;
Count := LongInt($FFFFFFFF - mask);

for IP := (addr and mask) to ((addr and mask) + Count) do
begin
tmpStr := IntToStr(StrToInt('$' + copy(IntToHex(ip,2),1,2))) + '.'+
IntToStr(StrToInt('$' + copy(IntToHex(IP,2),3,2))) + '.'+
IntToStr(StrToInt('$' + copy(IntToHex(IP,2),5,2))) + '.'+
IntToStr(StrToInt('$' + copy(IntToHex(IP,2),7,2)));
Ips.Add(TmpStr);
Inc(I);
end;
end;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.01.2011, 14:45

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Поиск файлов в локальной сети
Программа для Поиск файлов в локальной сети на visual С++

Доступ к машине в локальной сети
Возможно ли осуществить доступ к расшаренным папкам компьютера в локальной сети программно, если...

Сканирование локальной сети в заданном диапазоне IP
Искала, но именного того что нужно здесь не нашла ((((( Поэтому спрашиваю в новой теме. Если у...

Игры с возможностями мультиплеера по локальной сети
Всем доброго времени суток. Язык изучаю относительно недавно, по этому возможно вопрос некорректен....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.