Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

определение имени хоста по его адресу


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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо