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

Вниз

Имя компьютера ?   Найти похожие ветки 

 
Gua ©   (2002-01-07 21:29) [0]

Может кто небудь кинуть пример определения Имени Компьютера по IP аддресу ?
Заранее Благодарен !!!


 
Хлор ©   (2002-01-08 05:56) [1]

function TGenericNetTask.GetPeerOrigin( const ALogin : String ) : DWORD;

const AddressStrMaxLen = 256;
var len : DWORD;
ptr : PChar;
pHE : PHostEnt;
addr : TSockAddr;
buf : Array [0..AddressStrMaxLen-1] of Char;
begin
if FNet=nil then raise ESocketError.Error(-1,ClassName+".GetPeerAds: Net is
not defined",WSAHOST_NOT_FOUND);
len := SizeOf(TSockAddr);
if getpeername(FSocket,addr,len)<>0 then
RaiseLastSocketError(-1,ClassName+".GetPeerAds: getpeername()");
case addr.sin_family of
AF_INET: // TCP/IP

begin
pHE := gethostbyaddr( PChar(@addr.sin_addr), SizeOf(TInAddr),
AF_INET );
if pHE=nil then RaiseLastSocketError(-1,ClassName+".GetPeerAds:
gethostbyaddr()");
FPeerNodeName := pHE^.h_name;
if FNet.NodeByName(FPeerNodeName)=nil then
begin
ptr := StrScan(pHE^.h_name,".");
if ptr<>nil then FPeerNodeName :=
Copy(pHE^.h_name,1,ptr-pHE^.h_name);
end;
end;

else
len := AddressStrMaxLen;
if WSAAddressToStringA(sin,sinlen,nil,buf,len)<>0 then
RaiseLastSocketError(-1,ClassName+".GetPeerAds: WSAAddressToStringA()");
ptr := StrRScan(buf,":");
if ptr<>nil then len := ptr-buf;
FPeerNodeName := Copy(buf,1,len);
end;
Result :=
FNet.EncodeAddress(ALogin,FPeerNodeName,"",[bLoginIdRequired,bNodeIdREquired,bR
aiseError]);
end; {TGenericNetTask.GetPeerOrigin}

Вроде должно работать...
Более узнаешь если будешь читать WinSock2 SDK. Там есть....


 
Gua ©   (2002-01-08 12:10) [2]

Чо то непашет !!!
Какова типа должна быть переменная FNET ???



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
7-67030
Skyter
2001-12-18 13:32
2002.03.21
Как получить информацию об исполняемом файле


14-67008
Елена
2002-02-08 18:34
2002.03.21
?


1-66868
webbyte
2002-03-04 09:21
2002.03.21
Есть ли в дельфи аналог паскалевской exec?то есть можно ли из приложения выполнить комманду в ком.строке?


3-66724
dimich
2002-02-19 14:08
2002.03.21
Как правильно используя Midas связать две таблицы


7-67032
VitalyU
2001-12-09 06:06
2002.03.21
Com Port