如何確定連接的套接字的遠程IP地址?獲取遠程套接字端點的IP地址
我有一個RemoteEndPoint對象,我可以訪問以及它的AddressFamily成員。
如何利用這些查找IP地址?
謝謝!
目前正在
IPAddress.Parse(testSocket.Address.Address.ToString()).ToString();
並獲得1.0.0.127,而不是127.0.0.1的本地主機終點。這是正常的嗎?
如何確定連接的套接字的遠程IP地址?獲取遠程套接字端點的IP地址
我有一個RemoteEndPoint對象,我可以訪問以及它的AddressFamily成員。
如何利用這些查找IP地址?
謝謝!
目前正在
IPAddress.Parse(testSocket.Address.Address.ToString()).ToString();
並獲得1.0.0.127,而不是127.0.0.1的本地主機終點。這是正常的嗎?
http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.remoteendpoint.aspx
然後,您可以調用IPEndPoint .. ::。地址的方法來檢索遠程ip地址和IPEndPoint .. ::。端口的方法來獲取遠程端口號。從鏈路
更多(固定起來很多HEH):
Socket s;
IPEndPoint remoteIpEndPoint = s.RemoteEndPoint as IPEndPoint;
IPEndPoint localIpEndPoint = s.LocalEndPoint as IPEndPoint;
if (remoteIpEndPoint != null)
{
// Using the RemoteEndPoint property.
Console.WriteLine("I am connected to " + remoteIpEndPoint.Address + "on port number " + remoteIpEndPoint.Port);
}
if (localIpEndPoint != null)
{
// Using the LocalEndPoint property.
Console.WriteLine("My local IpAddress is :" + localIpEndPoint.Address + "I am connected on port number " + localIpEndPoint.Port);
}
RemoteEndPoint是一個屬性,它的類型是System.Net.EndPoint從System.Net.IPEndPoint繼承。
如果你看看IPEndPoint的members,你會發現有一個Address
屬性。
string ip = ((IPEndPoint)(testsocket.RemoteEndPoint)).Address.ToString();
我做了在VB.NET這段代碼,但你可以翻譯。 那麼假設你有變量客戶爲TcpClient的
Dim ClientRemoteIP As String = Client.Client.RemoteEndPoint.ToString.Remove(Client.Client.RemoteEndPoint.ToString.IndexOf(":"))
希望它能幫助!乾杯。
我看到RemoteEndPoint的所有成員都是AddressFamily。我如何獲得地址訪問權限? – bobber205 2009-12-14 23:28:25
((System.Net.IPEndPoint)socket.RemoteEndPoint).Address – 2009-12-14 23:33:38
謝謝! :) 我正在嘗試 string remoteIP = IPAddress.Parse(testSocket.Address.Address.ToString()).ToString(); 併爲本地主機連接獲取「1.0.0.127」而不是「127.0.0.1」。這是正常的嗎? – bobber205 2009-12-15 00:01:57