2009-06-25 5 views
0

So ermitteln Sie die IP-Adresse von verbundenen Clients. Und wie können wir diese Adresse in einem Array von Datentyp IPAddress speichern?Finden Sie Connected Clients IP's?

+0

Benötigen Sie weitere Informationen zum Kontext? Laufen Sie einen Webserver? Irgendeine andere Art von Server? Eine Art von P2P-App? –

+0

nein. Ich habe eine kleine Anwendung von Server und Client. Meine Anfrage ist die IP-Adresse der verbundenen Clients im Server herauszufinden. – MAC

Antwort

0

Sind wir in Windows? Müssen Sie diese Informationen in einer Anwendung verwenden, oder ein Konsolenbefehl könnte das Problem lösen?

vielleicht könnten Sie mit netstat -na in einer Shell versuchen.

+0

Entschuldigung, ich habe es nicht verstanden ... – MAC

1

Überprüfen Sie die RemoteEndPoint Ihrer Steckdose:

Wenn Sie ein verbindungsorientiertes -Protokoll, das RemoteEndpoint Eigenschaft bekommt die EndPoint, die die Remote-IP-Adresse und Portnummer zu enthält, die der Sockel Ist verbunden. Wenn Sie ein verbindungsloses Protokoll verwenden, enthält RemoteEndPoint die standardmäßige Remote-IP-Adresse und Portnummer mit , die der Socket kommunizieren wird. Sie müssen diesen EndPoint zu einem IPEndPoint vor dem Abrufen aller Informationen werfen. Sie können dann die IPEndPoint.Address-Methode aufrufen, um die Remote-IP-Adresse und die IPEndPoint.Port-Methode abzurufen, um die Remote-Portnummer abzurufen.

Wenn Sie höhere Level-Komponenten wie TcpListener und TcpClient dann können Sie access the underlying socket und den Remote-Endpunkt abzurufen.

Wenn Sie andere Technologien wie ASP.Net, WCF oder Remoting verwenden, müssen Sie dies in Ihrem Beitrag angeben.

Um eine IP-Adresse zu speichern, rufen Sie die zugrunde liegenden Bytes mit IPAddress.GetAddressBytes ab. Sie rekonstruieren die Adresse aus den Bytes mit the byte[] constructor.