Socket.Bind(EndPoint) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 は nullです。
ソケットにアクセスしようとしたときにエラーが発生しました。
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 メソッドを使用します。 Listen メソッドを呼び出すには、Bindを呼び出す必要があります。 特定のローカル エンドポイントを使用する必要がない限り、Connect メソッドを使用する前にBindを呼び出す必要はありません。 Bindメソッドは、コネクションレス プロトコルと接続指向プロトコルの両方で使用できます。
Bindを呼び出す前に、まず、データの通信元となるローカル IPEndPointを作成する必要があります。 どのローカル アドレスが割り当てられているか気にしない場合は、アドレス パラメーターとして IPAddress.Any を使用してIPEndPointを作成できます。基になるサービス プロバイダーは、最も適切なネットワーク アドレスを割り当てます。 これは、複数のネットワーク インターフェイスがある場合にアプリケーションを簡略化するのに役立ちます。 使用するローカル ポートを気にしない場合は、ポート番号に 0 を使用して IPEndPoint を作成できます。 この場合、サービス プロバイダーは 1024 から 5000 の間で使用可能なポート番号を割り当てます。
上記の方法を使用する場合は、 LocalEndPointを呼び出すことによって、割り当てられているローカル ネットワーク アドレスとポート番号を確認できます。 接続指向プロトコルを使用している場合、 LocalEndPoint は、 Connect または EndConnect メソッドの呼び出しを行うまで、ローカルに割り当てられたネットワーク アドレスを返しません。 コネクションレス プロトコルを使用している場合は、送受信が完了するまで、この情報にアクセスできません。
UDP ソケットが受信したパケットに関するインターフェイス情報を受信する場合は、Bind メソッドを呼び出した直後に、ソケット オプションを PacketInformation に設定して、SetSocketOption メソッドを明示的に呼び出す必要があります。
注
マルチキャスト データグラムを受信する場合は、マルチキャスト ポート番号を使用して Bind メソッドを呼び出す必要があります。
注
ReceiveFrom メソッドを使用してコネクションレス データグラムを受信する場合は、Bind メソッドを呼び出す必要があります。
注
Bind メソッドを呼び出すときにSocketExceptionを受け取った場合は、SocketException.ErrorCode プロパティを使用して特定のエラー コードを取得します。 このコードを取得したら、エラーの詳細な説明については、 Windows ソケット バージョン 2 の API エラー コード のドキュメントを参照してください。
注
このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「 .NET Framework でのネットワーク トレース」を参照してください。