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

Вниз

как узнать список(hostname) доступных компов в сети   Найти похожие ветки 

 
_Alex_ ©   (2002-02-04 16:44) [0]

Как узнать список доступных компов в сети
5 faq"ов уже смотрел ничего не работает
Помогите плиз


 
Amit ©   (2002-02-04 21:22) [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}
Я надеюсь, что ты сам сможеш разобратся.


 
_Alex_ ©   (2002-02-04 22:38) [2]

Щас буду разбираться.
Заранее спасибо.


 
}{unter ©   (2002-02-05 11:16) [3]

Как всё сложно !
Для виндозовских сетей существует майлсокет его использует попап мессаджер. Что уж проще для того чтобы узнать носты присутствующие в сети ?


 
Dimka Maslov ©   (2002-02-05 11:48) [4]

http://dims.gpsm.ru/files/index_en.php?page=findcomp.htm


 
drpass ©   (2002-02-05 13:55) [5]

В случае с Windows NT/2000/XP удобнее использовать бибилотеку LAN Manager (модули заголовков к ней находятся на CompanionCD, их также можно скачать у "Джедаев"):
type
si=array[0..99] of server_info_101;
var
p:pointer;
er,tot:cardinal;
compnames:^ax;
begin
fillchar(compnames, sizeof(compnames),0);
p:=@compnames;
NetServerEnum(nil, 101, p, 100*sizeof(server_info_101), er, tot, $ffffffff, nil, nil);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
1-57666
dimonf
2002-04-04 19:55
2002.04.18
Народ, подскажите почему у меня QuickRep печатает только один раз


1-57782
Migs
2002-04-06 01:59
2002.04.18
Help!!!


6-57832
Song
2002-01-28 14:11
2002.04.18
Я никогда не программировал сокеты, объясните мне одну простейшую вещь...


3-57581
Ninelle
2002-03-26 16:29
2002.04.18
lookup в wwdbgrid


1-57770
Поклонение Отцам!
2002-04-05 20:36
2002.04.18
помогите Ламеру Вопрос по TClipBoard :)