Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];




Вниз

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


PVK   (2001-10-16 17:38) [0]

Здравствуйте.

При попытке получить имя хоста по его адресу возвращается
ошибка WSANO_DATA: Valid name, no data record of requested type.

Фрагмент кода

uses winsock;
...
var
DestAddres:In_addr;
pHostEn:PHostEnt;
error:DWord:
HostName:string;

begin
HostName:="127.0.0.1";
DestAddress.S_addr:=inet_addr(PChar(HostName));

if DestAddress.S_addr=-1
then pHostEn := gethostbyname(PChar(HostName)) //OK
else pHostEn :=gethostbyaddr(PChar(@DestAddress),sizeOf(in_addr),AF_INET ); //Error

error := GetLastError();
end;

Подскажите в чем дело.

Заранее благодарен. (pvk21@list.ru)



Wonder   (2001-10-16 18:11) [1]


var
pHostEn : PHostEnt;
destAddress : in_addr;
destHost : PChar;

...

begin

...

pHostEn := gethostbyname(destHost);
if (pHostEn = nil) then begin
//видимо введен IP адрес. Проверим это:
destAddress := in_addr(inet_addr(destHost));
if destAddress.S_addr = u_long(INADDR_NONE) then
begin
//неправильное имя хоста или введен не IP адрес
Exit;
end;
//Был введен IP адрес. Попробуем узнать имя хоста
pHostEn := gethostbyaddr(@destAddress, 4, PF_INET);
if (pHostEn = nil) then
begin
//Имя хоста не разрешается
end
else
destAddress := PInAddr(pHostEn^.h_addr_list^)^;
end;
...




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.014 c
1-28463           Sergey Karagodin      2001-12-21 21:54  2002.01.10  
Как выводить длинные строки?


14-28541          модератор             2001-11-09 09:49  2002.01.10  
>Oleg Gashev


4-28556           cher_gvf              2001-11-09 17:43  2002.01.10  
Где почитать о потоках и процессах?


3-28447           -=CrazyFish=-         2001-12-07 13:27  2002.01.10  
record / key deleted


6-28514           maxi                  2001-10-15 14:10  2002.01.10  
Как правильно вызвать метод интерфейса на удаленном сервере СОМ ?