次の方法で共有


Socket.RemoteEndPoint プロパティ

リモート エンドポイントを取得します。

Public ReadOnly Property RemoteEndPoint As EndPoint
[C#]
public EndPoint RemoteEndPoint {get;}
[C++]
public: __property EndPoint* get_RemoteEndPoint();
[JScript]
public function get RemoteEndPoint() : EndPoint;

プロパティ値

Socket の通信先の EndPoint

例外

例外の種類 条件
SocketException ソケットへのアクセスを試みているときにエラーが発生しました。詳細については「解説」を参照してください。
ObjectDisposedException Socket は閉じられています。

解説

コネクション指向のプロトコルを使用する場合、 RemoteEndPoint プロパティは、 Socket の接続先リモート IP アドレスとポート番号を格納している EndPoint を取得します。コネクションレスのプロトコルを使用している場合、 RemoteEndPoint には、 Socket の通信先リモート IP アドレスとポート番号の既定値が格納されます。情報を取得する前に、この EndPointIPEndPoint にキャストする必要があります。次に、 IPEndPoint.Address メソッドを呼び出してリモート IPAddress を取得し、 IPEndPoint.Port メソッドでリモート ポート番号を取得します。

RemoteEndPoint は、 Accept または Connect の呼び出し後に設定されます。その前にこのプロパティにアクセスしようとすると、 RemoteEndPointSocketException をスローします。 SocketException が発生した場合は、 SocketException.ErrorCode を使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのマニュアルから、エラーの詳細情報を確認できます。これは MSDN から入手できます。

使用例

[Visual Basic, C#, C++] ローカル エンドポイントおよびリモート エンドポイントを取得して表示する例を次に示します。

 
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())


[C#] 
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 ());


[C++] 
s->Connect(lep);

// Uses the RemoteEndPoint property.
Console::Write("I am connected to ");
Console::Write(IPAddress::Parse((__try_cast<IPEndPoint *>(s->RemoteEndPoint)->Address)->ToString()));
Console::Write("on port number ");
Console::WriteLine(__box(__try_cast<IPEndPoint *>(s->RemoteEndPoint)->Port)->ToString());

// Uses the LocalEndPoint property.
Console::Write("My local IpAddress is :");
Console::Write(IPAddress::Parse((__try_cast<IPEndPoint *>(s->LocalEndPoint)->Address)->ToString()));
Console::Write("I am connected on port number ");
Console::WriteLine(__box(__try_cast<IPEndPoint *>(s->LocalEndPoint)->Port)->ToString());

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Socket クラス | Socket メンバ | System.Net.Sockets 名前空間 | EndPoint | Connect | Accept