Форум: "Сети";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Внизопределение имени хоста по его адресу Найти похожие ветки
← →
inex (2007-03-28 12:46) [0]Подскажите, пожалуйста, как можно определить имя удаленного хоста по его АйПи адресу?
Ну что-то наподобе nslookup!
← →
Rouse_ © (2007-03-28 12:47) [1]
function GetNameFromIP(const IP: String): String;
const
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;
← →
inex (2007-03-28 12:52) [2]Rouse_, подскажи, пожадуйста, что нужно к этому прописать в uses?
← →
Сергей М. © (2007-03-28 13:08) [3]
> что нужно к этому
Дай г..на, дай ложку ?)
← →
inex (2007-03-28 13:11) [4]
> Дай г..на, дай ложку
Ладно, если вы такие, тогда буду сам искать :(
Большое спасибо тебе, Rouse_, за помощь!
← →
Сергей М. © (2007-03-28 13:15) [5]
> буду сам искать
Да уж)
Должно быть стыдно не иметь свою ложку)
← →
Сергей М. © (2007-03-28 13:17) [6]тем более если куча прямо перед носом - в ($DELPHI)\Source
← →
Rouse_ © (2007-03-28 13:55) [7]
> что нужно к этому прописать в uses?
winsock вестимо :)
← →
Сергей М. © (2007-03-28 13:59) [8]
> winsock вестимо :)
А еще и Dialogs)
А еще и ..
да мало ли ложек потребуется))
Что ж получается - на каждую кучу свою ложку требовать ?)
← →
Empleado © (2007-03-28 16:09) [9]WSA_TYPE он не найдет
← →
Сергей М. © (2007-03-28 16:21) [10]
> WSA_TYPE он не найдет
Угу.
А дотумкать самому - оно сложно.
← →
Rouse_ © (2007-03-28 16:52) [11]
> WSA_TYPE он не найдет
Это строго секретная константа, ее нельзя в открытом виде на форуме светить ;)
← →
inex (2007-03-29 12:46) [12]
> WSA_TYPE он не найдет
Вместо данного параметра я поставил 1, а мог бы е чето другое.
Или нет?
← →
Rouse_ © (2007-03-29 13:08) [13]$101, $202 :)
← →
Сергей М. © (2007-03-29 13:15) [14]
> а мог бы е чето другое.
> Или нет?
Это тебя надо спросить, мог ты или не мог)
Но одно точно известно - читать справку по WSAStartup() ты уж точно не мог - то ли лень, то ли буквы незнакомые там, то ли лыжи не едут ..)
← →
inex (2007-03-29 13:22) [15]
> Но одно точно известно - читать справку по WSAStartup()
> ты уж точно не мог - то ли лень, то ли буквы незнакомые
> там, то ли лыжи не едут ..)
Нет, ответ намного проще, я просто ее не нашел!
← →
Сергей М. © (2007-03-29 13:26) [16]
> я просто ее не нашел
Она, справка эта, у тебя перед носом - меню Help -> Windows SDK
← →
inex (2007-03-29 13:30) [17]
> Она, справка эта, у тебя перед носом - меню Help -> Windows
> SDK
Спасибо, буду знать!
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.041 c