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