Форум: "Сети";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];
ВнизПолучить имя компьютера в интернете по его IP Найти похожие ветки
← →
Breeze1 © (2004-04-22 14:42) [0]Мне нужно программно получить по IP адресу имя компьютера которое зарегистрировано в DNS. Как мне это сделать?
← →
Rouse_ © (2004-04-22 15:20) [1]Что-то вроде такого
// Функция возвращает имя хоста по его IP адресу
function GetNameFromIP(const IP: String): String;
const
RES_UNKNOWN = "Unknown";
WSA_TYPE = $101;
ERR_INADDR = "Can not convert IP to in_addr.";
ERR_HOST = "Can not get host information.";
ERR_WSA = "Can not initialize WSA.";
var
WSA : TWSAData;
Host : PHostEnt;
Addr : u_long;
Err : Integer;
begin
Result := RES_UNKNOWN;
Err := WSAStartup(WSA_TYPE, WSA);
if Err <> 0 then
begin
{$IFNDEF NO_MESSAGE}
MessageDlg(ERR_WSA, mtError, [mbOK], 0);
{$ENDIF}
Exit;
end;
try
Addr := inet_addr(PChar(IP));
if Addr = u_long(INADDR_NONE) then
begin
{$IFNDEF NO_MESSAGE}
MessageDlg(ERR_INADDR, mtError, [mbOK], 0);
{$ENDIF}
Exit;
end;
Host := gethostbyaddr(@Addr, SizeOf(Addr), PF_INET);
if Assigned(Host) then
Result := Host.h_name
{$IFNDEF NO_MESSAGE}
else
MessageDlg(ERR_HOST, mtError, [mbOK], 0)
{$ENDIF}
;
finally
WSACleanup;
end;
end;
← →
Piter © (2004-04-22 16:52) [2]а как же FAQ...
← →
Breeze1 © (2004-04-23 09:49) [3]А разве в FAQ этот вопрос освещен? Может я плохо искал? Тогда ткните носом.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.037 c