Socket.RemoteEndPoint 属性

获取远程终结点。

**命名空间:**System.Net.Sockets
**程序集:**System(在 system.dll 中)

语法

声明
Public ReadOnly Property RemoteEndPoint As EndPoint
用法
Dim instance As Socket
Dim value As EndPoint

value = instance.RemoteEndPoint
public EndPoint RemoteEndPoint { get; }
public:
property EndPoint^ RemoteEndPoint {
    EndPoint^ get ();
}
/** @property */
public EndPoint get_RemoteEndPoint ()
public function get RemoteEndPoint () : EndPoint

属性值

当前和 Socket 通信的 EndPoint

异常

异常类型 条件

SocketException

试图访问套接字时发生错误。有关更多信息,请参见备注部分。

ObjectDisposedException

Socket 已关闭。

备注

如果您使用的是面向连接的协议,则 RemoteEndPoint 属性将获取包含 Socket 连接到的远程 IP 地址和端口号的 EndPoint。而如果当前使用的是无连接的协议,则 RemoteEndPoint 包含将要和 Socket 通信的默认远程 IP 地址和端口号。您必须将此 EndPoint 强制转换为 IPEndPoint 才能检索信息。然后就可以调用 IPEndPoint.Address 方法来检索远程 IPAddress,调用 IPEndPoint.Port 方法来检索远程端口号。

RemoteEndPoint 是在调用 AcceptConnect 之后设置的。如果试图提前访问该属性,那么 RemoteEndPoint 将引发 SocketException。如果收到 SocketException,请使用 SocketException.ErrorCode 属性获取特定的错误代码。获取此代码后,您可以参考 MSDN Library 中的 Windows Sockets 第 2 版 API 错误代码文档,获取有关该错误的详细说明。

提示

当在应用程序中启用网络跟踪功能后,此成员将输出跟踪信息。有关更多信息,请参见 网络跟踪

示例

下面的代码示例检索并显示本地和远程终结点。

s.Connect(lep)

' Using the RemoteEndPoint property.
Console.WriteLine("I am connected to ")
Console.WriteLine(IPAddress.Parse(CType(s.RemoteEndPoint, IPEndPoint).Address.ToString()))
Console.WriteLine("on port number ")
Console.WriteLine(CType(s.RemoteEndPoint, IPEndPoint).Port.ToString())

' Using the LocalEndPoint property.
Console.WriteLine("My local IpAddress is :")
Console.WriteLine(IPAddress.Parse(CType(s.LocalEndPoint, IPEndPoint).Address.ToString()))
Console.WriteLine("I am connected on port number ")
Console.WriteLine(CType(s.LocalEndPoint, IPEndPoint).Port.ToString())
s.Connect (lep);

// Using the RemoteEndPoint property.
Console.WriteLine ("I am connected to " + IPAddress.Parse (((IPEndPoint)s.RemoteEndPoint).Address.ToString ()) + "on port number " + ((IPEndPoint)s.RemoteEndPoint).Port.ToString ());

// Using the LocalEndPoint property.
Console.WriteLine ("My local IpAddress is :" + IPAddress.Parse (((IPEndPoint)s.LocalEndPoint).Address.ToString ()) + "I am connected on port number " + ((IPEndPoint)s.LocalEndPoint).Port.ToString ());
s->Connect( lep );

// Uses the RemoteEndPoint property.
Console::WriteLine(  "I am connected to {0} on port number {1}",
   IPAddress::Parse( ( ( (IPEndPoint^)(s->RemoteEndPoint) )->Address)->ToString() ),
   ( (IPEndPoint^)(s->RemoteEndPoint) )->Port.ToString() );

// Uses the LocalEndPoint property.
Console::Write(  "My local IpAddress is : {0}\nI am connected on port number {1}",
   IPAddress::Parse( ( ( (IPEndPoint^)(s->LocalEndPoint) )->Address)->ToString() ),
   ( (IPEndPoint^)(s->LocalEndPoint) )->Port.ToString() );
s.Connect(lep);
// Using the RemoteEndPoint property.
Console.WriteLine("I am connected to " 
    + IPAddress.Parse(((IPEndPoint)s.get_RemoteEndPoint()).
    get_Address().ToString()) + "on port number " 
    + ((IPEndPoint)s.get_RemoteEndPoint()).get_Port());
// Using the LocalEndPoint property.
Console.WriteLine("My local IpAddress is :" 
    + IPAddress.Parse(((IPEndPoint)s.get_LocalEndPoint()).
    get_Address().ToString()) + "I am connected on port number " 
    + ((IPEndPoint)s.get_LocalEndPoint()).get_Port());

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

Socket 类
Socket 成员
System.Net.Sockets 命名空间
EndPoint 类
Connect
Accept