UdpClient.Connect メソッド (IPEndPoint)
指定されたネットワーク エンドポイントを使用して、既定のリモート ホストを確立します。
Overloads Public Sub Connect( _
ByVal endPoint As IPEndPoint _)
[C#]
public void Connect(IPEndPointendPoint);
[C++]
public: void Connect(IPEndPoint* endPoint);
[JScript]
public function Connect(
endPoint : IPEndPoint);
パラメータ
- endPoint
データ送信先のネットワーク エンドポイントを指定する IPEndPoint 。
例外
例外の種類 | 条件 |
---|---|
SocketException | ソケットへのアクセス中にエラーが発生しました。詳細については「解説」を参照してください。 |
ArgumentNullException | endPoint が null 参照 (Visual Basic では Nothing) です。 |
ObjectDisposedException | UdpClient が閉じています。 |
解説
Connect メソッドは、 endPoint パラメータで指定された値を使用して既定のリモート ホストを確立します。いったん確立されたら、 Send メソッドを呼び出すたびにリモート ホストを指定する必要はありません。
既定のリモート ホストの確立は省略できます。既定のリモート ホストを指定すると、そのホストに限定されるようになります。データグラムを別のリモート ホストに送信する場合は、別に Connect メソッドを呼び出すか、既定のリモート ホストを省略して別の UdpClient を作成する必要があります。既定のリモート ホストを確立している場合、 Send メソッドの呼び出しでリモート ホストを指定すると、 Send が SocketException をスローします。 SocketException が発生した場合は、 SocketException.ErrorCode を使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのマニュアルから、エラーの詳細情報を確認できます。これは MSDN から入手できます。
Connect メソッドを呼び出した場合、指定した既定のアドレス以外から送信されたデータグラムはすべて破棄されます。このメソッドでは、既定のリモート ホストをブロードキャスト アドレスに設定することはできません。ただし、 UdpClient から継承し、Client メソッドを使用して基になる Socket を取得して、ソケット オプションを SocketOptionName.Broadcast に設定する場合は除きます。
ただし、 Send メソッドの呼び出しで IPAddress.Broadcast を指定すると、既定のブロードキャスト アドレス (255.255.255.255) にデータをブロードキャストできます。アプリケーションでブロードキャスト アドレスをさらに制御する必要がある場合は、 Socket クラスに戻って使用することもできます。
メモ UDP プロトコルはコネクションレスのため、 Connect メソッドはブロックしません。マルチキャスト データグラムを受信する場合は、 Connect メソッドを呼び出さないでください。
使用例
[Visual Basic, C#, C++] IPEndPoint を使用して、既定のリモート ホストを確立する例を次に示します。
'Uses a remote endpoint to establish a socket connection.
Dim udpClient As New UdpClient()
Dim ipAddress As IPAddress = Dns.Resolve("www.contoso.com").AddressList(0)
Dim ipEndPoint As New IPEndPoint(ipAddress, 11004)
Try
udpClient.Connect(ipEndPoint)
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
[C#]
//Uses a remote endpoint to establish a socket connection.
UdpClient udpClient = new UdpClient();
IPAddress ipAddress = Dns.Resolve("www.contoso.com").AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 11004);
try{
udpClient.Connect(ipEndPoint);
}
catch (Exception e ) {
Console.WriteLine(e.ToString());
}
[C++]
//Uses a remote endpoint to establish a socket connection.
UdpClient* udpClient = new UdpClient();
IPAddress* ipAddress = Dns::Resolve(S"www.contoso.com")->AddressList[0];
IPEndPoint* ipEndPoint = new IPEndPoint(ipAddress, 11004);
try{
udpClient->Connect(ipEndPoint);
}
catch (Exception* e ) {
Console::WriteLine(e->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
参照
UdpClient クラス | UdpClient メンバ | System.Net.Sockets 名前空間 | UdpClient.Connect オーバーロードの一覧 | Socket | Send | Receive