Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить ip по host и в -> TInAddr, не получается 
:(
    Опции темы
RinOSpro
Дата 10.1.2008, 19:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть функция
 
Код

function LookupName(ToIPHost : string): TInAddr;
var
 HostEnt: PHostEnt;
 InAddr: TInAddr;
begin
  HostEnt := gethostbyname(PChar(ToIPHost));
  FillChar(InAddr, SizeOf(InAddr), 0);
  if HostEnt <> nil then
   begin
    with InAddr, HostEnt^ do
     begin
      S_un_b.s_b1 := h_addr^[0];
      S_un_b.s_b2 := h_addr^[1];
      S_un_b.s_b3 := h_addr^[2];
      S_un_b.s_b4 := h_addr^[3];
     end;
   end;
  Result := InAddr;
end;


Код

Remote.addr := LookupName(ToIP);


если я передаю ей ип то все работает а если имя хоста то не работает... Подскажите в чем дело? Или может есть более хороший пример!

  Вверх
Sanchezzz
Дата 10.1.2008, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



Код

function Mу_HostToIP(Host: PChar): PChar;
type
 TaPInAddr = array [0..10] of PInAddr;
 PaPInAddr = ^TaPInAddr;
var
  WSAData: TWSAData;
 phe           : PHostEnt;
 p             : PaPInAddr;
begin
Result := nil;
WSAStartup($0101, WSAData);
phe := gethostbyname(Host);
if phe = nil then
 Exit;
p := PaPInAddr(phe^.h_addr_list);
if p^[0] <> nil then begin
 Result := inet_ntoa(p^[0]^);
end;
WSACleanup;
end;


//пользоватся
Showmessage(strpas(My_HostToIP('COMP')));

// у тебя в коде есть WSAStartup  без него мой пример не корректно работает... 


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
RinOSpro
Дата 10.1.2008, 21:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Sanchezzz у меня как раз стартупа то и нету, и его запускаю перед вызовом этой функции.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0403 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.