Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.10;
Скачать: CL | DM;

Вниз

Проблема с получением имени хоста по его адресу   Найти похожие ветки 

 
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;
...



Страницы: 1 вся ветка

Текущий архив: 2002.01.10;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.007 c
1-28492
Delphimun
2001-12-21 14:24
2002.01.10
Как изменить букву на несколько букв вперёд(по алфавиту)?


3-28432
WildWind
2001-12-07 10:48
2002.01.10
любопытное поведение union all в SQL через BDE...


14-28534
Dim
2001-11-13 07:25
2002.01.10
Братья и сестры. Очередная пирамида или ......?


6-28513
dimen
2001-10-15 02:19
2002.01.10
исходник копмпоненты http или как организовать его...


14-28542
MJH
2001-11-15 14:15
2002.01.10
Epson Stylos 600