Socket.Bind(EndPoint) メソッド

定義

Socketをローカル エンドポイントに関連付けます。

public:
 void Bind(System::Net::EndPoint ^ localEP);
public void Bind(System.Net.EndPoint localEP);
member this.Bind : System.Net.EndPoint -> unit
Public Sub Bind (localEP As EndPoint)

パラメーター

localEP
EndPoint

EndPointに関連付けるローカル Socket

例外

localEPnullです。

ソケットにアクセスしようとしたときにエラーが発生しました。

Socketが閉じられました。

呼び出し履歴の上位の呼び出し元には、要求された操作に対するアクセス許可がありません。

次のコード例では、指定したローカル エンドポイントを使用して Socket をバインドします。

try {
    aSocket.Bind(anEndPoint);
}
catch (Exception e) {
    Console.WriteLine("Winsock error: " + e.ToString());
}
Try
    aSocket.Bind(anEndPoint)
Catch e As Exception
    Console.WriteLine("Winsock error: " & e.ToString())
End Try

注釈

特定のローカル エンドポイントを使用する必要がある場合は、 Bind メソッドを使用します。 Bind メソッドを呼び出すには、Listenを呼び出す必要があります。 特定のローカル エンドポイントを使用する必要がない限り、Bind メソッドを使用する前にConnectを呼び出す必要はありません。 Bindメソッドは、コネクションレス プロトコルと接続指向プロトコルの両方で使用できます。

Bindを呼び出す前に、まず、データの通信元となるローカル IPEndPointを作成する必要があります。 どのローカル アドレスが割り当てられているか気にしない場合は、アドレス パラメーターとして IPEndPoint を使用してIPAddress.Anyを作成できます。基になるサービス プロバイダーは、最も適切なネットワーク アドレスを割り当てます。 これは、複数のネットワーク インターフェイスがある場合にアプリケーションを簡略化するのに役立ちます。 使用するローカル ポートを気にしない場合は、ポート番号に 0 を使用して IPEndPoint を作成できます。 この場合、サービス プロバイダーは 1024 から 5000 の間で使用可能なポート番号を割り当てます。

上記の方法を使用する場合は、 LocalEndPointを呼び出すことによって、割り当てられているローカル ネットワーク アドレスとポート番号を確認できます。 接続指向プロトコルを使用している場合、 LocalEndPoint は、 Connect または EndConnect メソッドの呼び出しを行うまで、ローカルに割り当てられたネットワーク アドレスを返しません。 コネクションレス プロトコルを使用している場合は、送受信が完了するまで、この情報にアクセスできません。

UDP ソケットが受信したパケットに関するインターフェイス情報を受信する場合は、SetSocketOption メソッドを呼び出した直後に、ソケット オプションを PacketInformation に設定して、Bind メソッドを明示的に呼び出す必要があります。

Note

マルチキャスト データグラムを受信する場合は、マルチキャスト ポート番号を使用して Bind メソッドを呼び出す必要があります。

Note

Bind メソッドを使用してコネクションレス データグラムを受信する場合は、ReceiveFrom メソッドを呼び出す必要があります。

Note

SocketException メソッドを呼び出すときにBindを受け取った場合は、SocketException.ErrorCode プロパティを使用して特定のエラー コードを取得します。 このコードを取得したら、エラーの詳細な説明については、 Windows ソケット バージョン 2 の API エラー コード のドキュメントを参照してください。

Note

このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「Network Tracing in .NET Framework」を参照してください。

適用対象

こちらもご覧ください