ресолвить имя хоста на палме?
От: MobileDeveloper Мобильная_Торговля_для_КПК
Дата: 04.03.08 08:02
Оценка:
понимают ли стандартные сетевые библиотеки для Palm если вместо IP дать имя хоста?
если нет, то как его ресолвить?
Re: ресолвить имя хоста на палме?
От: Alexandr Sulimov Украина www.ase.com.ua
Дата: 04.03.08 08:10
Оценка:
Здравствуйте, MobileDeveloper, Вы писали:

MD>понимают ли стандартные сетевые библиотеки для Palm если вместо IP дать имя хоста?

MD>если нет, то как его ресолвить?

Раньше было
Function Connect(const IP: PChar; Port: Integer): Integer;
var
  NetHostInfoBuf: NetHostInfoBufType;
begin
 Result:=-1;
 InD:=0;
 OutD:=0;
 ASProgress.Start2('Обмен данными...');
 //Timeout := Int16(5 * SysTicksPerSecond);

 if SysLibFind('Net.lib', NetLib) <> 0 then Exit; // error occured
 if NetLibOpen(NetLib, NetIFErr) <> 0 then  Exit; // error occured

 Socket := NetLibSocketOpen(NetLib, netSocketAddrINET, netSocketTypeStream, 0, cnst_timeout, ErrP);
 if Socket = -1 then
 Begin
  NetLibClose(NetLib, 1);
  Exit;
 End;

 Addr.family := netSocketAddrINET;
 Addr.addr := $7F000000;
 Addr.port := Port;

 If NetLibGetHostByName(NetLib, IP, @NetHostInfoBuf, cnst_timeout, ErrP) = nil then
 Begin
  ShowMessage('Ошибка получения имени сервера!');
  NetLibSocketClose(NetLib, Socket, cnst_timeout, ErrP);
  NetLibClose(NetLib, 1);
  Exit;
 End;

 If NetHostInfoBuf.hostInfo.addrLen >= 4 then
  Addr.addr := UInt32Ptr(NetHostInfoBuf.hostInfo.addrListP^)^;

 If NetLibSocketConnect(NetLib, Socket, NetSocketAddrPtr(@Addr), SizeOf(Addr), cnst_timeout, ErrP) <> 0 then
 Begin
  NetLibSocketClose(NetLib, Socket, cnst_timeout, ErrP);
  NetLibClose(NetLib, 1);
  ShowMessage('Ошибка подключения!');
  Exit;
 End;

 Result:=0;
End;
... << RSDN@Home 1.2.0 alpha rev. 0>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.