Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Получение имени компьютера в локальной сети по его IP адресу

Delphi , ОС и Железо , Компьютер



Автор: Savva
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> 
Получение имени компьютера в локальной сети по его IP адресу.

Зависимости: SysUtils, Winsock
Автор:       savva, savva@nm.ru, ICQ:126578975, Орел
Copyright:   Сапронов Алексей (Savva)
Дата:        6 июня 2002 г.
***************************************************** }

function IPAddressToNetworkName(IPAddr: string): string;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  WSAStartup($101, WSAData);
  SockAddrIn.sin_addr.s_addr := inet_addr(PChar(IPAddr));
  HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
  if HostEnt <> nil then
  begin
    result := StrPas(Hostent^.h_name)
  end
  else
  begin
    result := '';
  end;
end;

Пример использования:

ShowMessage(IPAddressToNetworkName('ХХХ.ХХХ.ХХХ.ХХХ')); 

Перевод контента на русский язык:

Функция IPAddressToNetworkName

Эта функция принимает строку IP-адреса и возвращает соответствующий хостнейм.

Переменные

  • SockAddrIn: структура TSockAddrIn, используемая для хранения IP-адреса.
  • HostEnt: указатель на структуру PHostEnt, представляющую запись о хосте (например, DNS-запись).
  • WSAData: структура TWSAData, используемая для инициализации API Windows Sockets.

Тело функции

  1. Вызывается функция WSAStartup с аргументами $101 и WSAData, которая инициализирует API Windows Sockets.
  2. IP-адрес конвертируется из строки в структуру in_addr с помощью функции inet_addr.
  3. Функция gethostbyaddr используется для поиска хостнейма, соответствующего заданному IP-адресу. Если операция успешна, функция возвращает указатель на структуру HostEnt, иначе - nil.
  4. Если HostEnt не равно nil, функция извлекает хостнейм из структуры HostEnt с помощью функции StrPas.
  5. Если HostEnt равно nil, возвращается пустая строка.

Пример использования

В примере показано, как использовать функцию IPAddressToNetworkName с IP-адресом:

ShowMessage(IPAddressToNetworkName('192.168.1.100'));

Это отобразит хостнейм, соответствующий IP-адресу 192.168.1.100.

В целом, это код обеспечивает простой способ конвертации IP-адреса в хостнейм с помощью API Windows Sockets и функции gethostbyaddr.

Функция IPAddressToNetworkName позволяет получить имя компьютера в локальной сети по его IP-адресу, используя библиотеку Winsock и функции gethostbyaddr.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Компьютер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-11 20:15:18/0.0032448768615723/0