2009-06-26 4 views
0

Es wird ein Fehler in dieser Zeile auf die Ausführung zeigt:IP.Adresse Abrufen

((IPEndPoint)(TcpClient.Client.RemoteEndPoint)).Address; 

die eroor ist:

An object reference is required for the nonstatic field, method, or property 
System.Net.Sockets.TcpClient.Client.get ... 

Was für diesen Fehler ist Lösung?

Der Code ist unten abgebildet.

//Assume myList is an ArrayList 
IPAddress tempAddress = ((IPEndPoint)(TcpClient.Client.RemoteEndPoint)).Address; 
myList.Add(tempAddress); 
+0

Worauf möchten Sie die IP-Adresse abrufen? ... die lokale Maschine? – jerryjvl

Antwort

0

tun Sie eine Instanz von TcpClient haben?

+0

Entschuldigung, ich habe es nicht verstanden. – MAC

0

Da der Compilerfehler angibt, benötigen Sie eine Instanz von IPEndPoint für den Zugriff auf die Address-Eigenschaft.

TcpClient tcpClient = new TcpClient(); 
IPAddress ipAddress = Dns.GetHostEntry ("www.contoso.com").AddressList[0]; 
IPEndPoint ipEndPoint = new IPEndPoint (ipAddress, 11004); 
IPAddress tempAddress = ipEndPoint.Address; 
myList.Add(tempAddress); 
1

Der Fehler tritt auf, da die Eigenschaft RemoteEndpoint eine Instanz Mitglied TCPClient ist. Dies bedeutet, dass Sie einen TCPClient instanziieren müssen (Sie müssen ihn "neu anlegen"), bevor Sie auf den RemoteEndPoint zugreifen können.

Wenn Sie weitere Hilfe benötigen, müssen Sie die vorherigen Codezeilen bereitstellen, damit wir sehen können, was Sie zu tun versuchen.

+0

Ich löste das obige Problem, bekam aber das neue, das hier gezeigt wird. "Objektverweis nicht auf eine Instanz eines Objekts gesetzt." Dieser Fehler wird in dieser Zeile angezeigt IPAddress ipAddress = ((IPEndPoint) (tClient.Client.RemoteEndPoint)). Adresse; – MAC