Socket.SetSocketOption メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Socket オプションを設定します。
オーバーロード
SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) | |
SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
指定した Socket オプションを、指定した値に設定します。この値はバイト配列で表されます。 |
SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
指定した Socket オプションを、指定した整数値に設定します。 |
SetSocketOption(SocketOptionLevel, SocketOptionName, Object) |
指定した Socket オプションを、指定した値に設定します。この値はオブジェクトで表されます。 |
SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
public:
void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, bool optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, bool optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * bool -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Boolean)
パラメーター
- optionLevel
- SocketOptionLevel
SocketOptionLevel 値のいずれか 1 つ。
- optionName
- SocketOptionName
SocketOptionName 値のいずれか 1 つ。
例外
Socket オブジェクトは閉じられています。
ソケットへのアクセスを試行しているときにエラーが発生しました。
例
次のコード例では、ソケットを開き、 DontLinger
と ソケット オプションを OutOfBandInline
有効にします。
// Establish the local endpoint for the socket.
IPHostEntry^ ipHost = Dns::GetHostEntry( Dns::GetHostName() );
IPAddress^ ipAddr = ipHost->AddressList[ 0 ];
IPEndPoint^ ipEndPoint = gcnew IPEndPoint( ipAddr,11000 );
// Create a TCP socket.
Socket^ client = gcnew Socket( AddressFamily::InterNetwork,SocketType::Stream,ProtocolType::Tcp );
// Connect the socket to the remote endpoint.
client->Connect( ipEndPoint );
// Set option that allows socket to close gracefully without lingering.
client->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::DontLinger, true );
// Set option that allows socket to receive out-of-band information in the data stream.
client->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::OutOfBandInline, true );
// Establish the local endpoint for the socket.
IPHostEntry ipHost = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);
// Create a TCP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
// Connect the socket to the remote endpoint.
client.Connect(ipEndPoint);
// Set option that allows socket to close gracefully without lingering.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.DontLinger, true);
// Set option that allows socket to receive out-of-band information in the data stream.
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.OutOfBandInline, true);
注釈
Socket オプションは、現在 Socketの の動作を決定します。 オプションを有効にするには をtrue
、オプションを無効にするには を false
に設定optionValue
します。
Socket オプションは、プロトコル サポートのレベル別にグループ化されます。
このオーバーロードを使用して設定できるさまざまな Socket オプションを次に示します。 これらのオプションは、適切な SocketOptionLevel 値でグループ化されます。 これらのオプションのいずれかを設定する場合は、 パラメーターに適切な SocketOptionLevel 値 optionLevel
を使用してください。 設定するオプションは、 パラメーターで指定する optionName
必要があります。 一覧表示されているオプションの現在の値を取得する場合は、 メソッドを使用します GetSocketOption 。
SocketOptionLevel.Socket このオーバーロードを使用して設定できるオプション。
SocketOptionLevel.IP このオーバーロードを使用して設定できるオプション。
SocketOptionLevel.Tcp このオーバーロードを使用して設定できるオプション。
SocketOptionLevel.Udp このオーバーロードを使用して設定できるオプション。
これらのオプションの詳細については、 列挙を SocketOptionName 参照してください。
注意
例外が発生した SocketException 場合は、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。 このコードを取得したら、エラーの詳細な説明については、 Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。
適用対象
SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
指定した Socket オプションを、指定した値に設定します。この値はバイト配列で表されます。
public:
void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, cli::array <System::Byte> ^ optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * byte[] -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Byte())
パラメーター
- optionLevel
- SocketOptionLevel
SocketOptionLevel 値のいずれか 1 つ。
- optionName
- SocketOptionName
SocketOptionName 値のいずれか 1 つ。
例外
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
例
次のコード例では、 LingerOption と Send のタイムアウト値を設定します。
// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)
注釈
Socket オプションは、現在 Socketの の動作を決定します。 バイト配列を必要とするオプション Socket をオプション値として設定するには、このオーバーロードを使用します。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。 このコードを取得したら、エラーの詳細な説明については、 Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
こちらもご覧ください
適用対象
SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
指定した Socket オプションを、指定した整数値に設定します。
public:
void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, int optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * int -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Integer)
パラメーター
- optionLevel
- SocketOptionLevel
SocketOptionLevel 値のいずれか 1 つ。
- optionName
- SocketOptionName
SocketOptionName 値のいずれか 1 つ。
- optionValue
- Int32
オプションの値。
例外
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
例
次のコード例では、 LingerOption と Send のタイムアウト値を設定します。
// Specifies that send operations will time-out
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000);
// Send operations will time-out if confirmation
// is not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);
'Send operations will time-out if confirmation is
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)
注釈
Socket オプションは、現在 Socketの の動作を決定します。 データ型を持つオプションの Boolean 場合は、オプションを有効にする 0 以外の値を指定し、オプションを無効にする場合は 0 の値を指定します。 整数データ型のオプションの場合は、適切な値を指定します。 Socket オプションは、プロトコル サポートのレベル別にグループ化されます。
このオーバーロードを使用して設定できるさまざまな Socket オプションを次に示します。 これらのオプションは、適切な SocketOptionLevelによってグループ化されます。 これらのオプションのいずれかを設定する場合は、 パラメーターに適切な SocketOptionLeveloptionLevel
を使用してください。 設定するオプションは、 パラメーターで指定する optionName
必要があります。 一覧表示されているオプションの現在の値を取得する場合は、 メソッドを使用します GetSocketOption 。
SocketOptionLevel.Socket このオーバーロードを使用して設定できるオプション。
SocketOptionLevel.IP このオーバーロードを使用して設定できるオプション。
SocketOptionLevel.Tcp このオーバーロードを使用して設定できるオプション。
SocketOptionLevel.Udp このオーバーロードを使用して設定できるオプション。
SocketOptionLevel.IPv6 このオーバーロードを使用して設定できるオプション。
これらのオプションの詳細については、 列挙を SocketOptionName 参照してください。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。 このコードを取得したら、エラーの詳細な説明については、 Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
こちらもご覧ください
適用対象
SetSocketOption(SocketOptionLevel, SocketOptionName, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
指定した Socket オプションを、指定した値に設定します。この値はオブジェクトで表されます。
public:
void SetSocketOption(System::Net::Sockets::SocketOptionLevel optionLevel, System::Net::Sockets::SocketOptionName optionName, System::Object ^ optionValue);
public void SetSocketOption (System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, object optionValue);
member this.SetSocketOption : System.Net.Sockets.SocketOptionLevel * System.Net.Sockets.SocketOptionName * obj -> unit
Public Sub SetSocketOption (optionLevel As SocketOptionLevel, optionName As SocketOptionName, optionValue As Object)
パラメーター
- optionLevel
- SocketOptionLevel
SocketOptionLevel 値のいずれか 1 つ。
- optionName
- SocketOptionName
SocketOptionName 値のいずれか 1 つ。
- optionValue
- Object
オプションの値を格納する LingerOption または MulticastOption。
例外
optionValue
が null
です。
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
例
次のコード例では、 と Send のタイムアウト値をLingerOption設定します。
// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)
注釈
Socket オプションは、現在 Socketの の動作を決定します。 、、および オプションを設定するには、LingerAddMembershipこのオーバーロードをDropMembershipSocket使用します。 オプションの場合はLinger、 パラメーターに optionLevel
を使用Socketします。 と DropMembershipの場合はAddMembership、 を使用しますIP。 上記のいずれかのオプションの現在の値を取得する場合は、 メソッドを使用します GetSocketOption 。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。 このコードを取得したら、エラーの詳細な説明については、 Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。
こちらもご覧ください
適用対象
.NET