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

Определение своего IP адреса

Delphi , Интернет и Сети , TCP/IP

Определение своего IP адреса

Из воспоминай системного администратора. "Все что я помню об этой девушке, это ее IP-адрес..."


function my_ip_address: longint;
const
  bufsize = 255;
var
  buf: pointer;
  RemoteHost: PHostEnt; (* Не освобождайте это! *)
begin
  buf := nil;
  try
    getmem(buf, bufsize);
    winsock.gethostname(buf, bufsize); (* это может работать и без сети *)
    RemoteHost := Winsock.GetHostByName(buf);
    if RemoteHost = nil then
      my_ip_address := winsock.htonl($07000001) (* 127.0.0.1 *)
    else
      my_ip_address := longint(pointer(RemoteHost^.h_addr_list^)^);
  finally
    if buf <> nil then
      freemem(buf, bufsize);
  end;
  result := winsock.ntohl(result);
end;

Вначале возвращается локальный сетевой адрес компьютера, а затем, если он не равен 127.0.0.1, стандартный IP адрес.

Единственное, что вам необходимо, это наличие winsock.dcu/winsock.pas, так как это не включается в поставку Delphi 1.; необходимый мне код я взял из tcpip component pack (просто вырезал его оттуда).

Определение своего IP-адреса на компьютере осуществляется с помощью функции my_ip_address, которая возвращает локальный сетевой адрес, а если он не равен 127.0.0.1, то стандартный IP-адрес.


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

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




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


:: Главная :: TCP/IP ::


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:10:31/0.0046529769897461/1