Форум: "Сети";
Текущий архив: 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;
...
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c