2011-06-02 21 views
6

Bu kodu kullanarak bilgisayarımın yerel IP adresini zaten tespit ettim (soketleri kullanın):Yerel ağdaki diğer cihazların IP adreslerini nasıl tespit edebilirim?

Function Ip_Local : String; 
    Var Acces_Sock : TCustomIpClient; 
Begin 
    Acces_Sock := TCustomIpClient.Create(Nil); 
    Try 
    Result := Acces_Sock.LocalHostAddr 
    Finally 
    Acces_Sock.Free; 
    End; 
End; 

Yönlendiricinin dahili LAN IP adresini ve mümkünse LAN bağlantılı bir cihazın DVR?

+1

, varsayılan ağ geçidi adresi zaten biliniyor, IpHelper API aracılığıyla sormak, diğer cihazlar ** ** UPnP veya ICMP kullanarak bulunmalıydı. –

cevap

1

kullanma Indy: tanım gereği

function CsiGetRemoteIpAddress(const pHostName: string): string; 
begin 
    TIdStack.IncUsage; 
    try 
    Result := GStack.ResolveHost(pHostName); 
    finally 
    TIdStack.DecUsage; 
    end; 
end; 
+0

Bu durumda ana bilgisayar adı nedir? – volvox

+0

Çözünürlüğüm bilgisayarımın ana bilgisayar adıysa, ResolveHost (pHostName) bilgisayarımın ip adresini çözerim. Router hostname hakkında hiçbir fikrim yok. – volvox

+0

tamam - ResolveHost (pHostName), verilen yönlendirici ana bilgisayar adı için ip adresini çözmez, yalnızca bilgisayar ana bilgisayar adı için yapar. En azından şimdiye kadar elde ettiğim şey bu. – volvox

İlgili konular