Socket.SetSocketOption Socket.SetSocketOption Socket.SetSocketOption Socket.SetSocketOption Method

定義

Socket オプションを設定します。Sets a Socket option.

オーバーロード

SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

指定した Socket オプションを、指定した値に設定します。この値はオブジェクトで表されます。Sets the specified Socket option to the specified value, represented as an object.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

指定した Socket オプションを、指定した整数値に設定します。Sets the specified Socket option to the specified integer value.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

指定した Socket オプションを、指定した Boolean 値に設定します。Sets the specified Socket option to the specified Boolean value.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

指定した Socket オプションを、指定した値に設定します。この値はバイト配列で表されます。Sets the specified Socket option to the specified value, represented as a byte array.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object) SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

指定した Socket オプションを、指定した値に設定します。この値はオブジェクトで表されます。Sets the specified Socket option to the specified value, represented as an object.

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)

パラメーター

optionValue
Object Object Object Object

オプションの値を格納する LingerOption または MulticastOptionA LingerOption or MulticastOption that contains the value of the option.

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

次のコード例のセット、LingerOptionSendタイムアウト値。The following code example sets the LingerOption and Send time out values.

// Specifies that send operations will time-out 
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000 );

// 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 );
// Send operations will time-out if confirmation 
// is not received within 1000 milliseconds.
s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);

// The socket will linger for 10 seconds after Socket.Close is called.
LingerOption lingerOption = new LingerOption (true, 10);

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);

'Send operations will time-out if confirmation is 
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

' 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 options determine the behavior of the current Socket. このオーバー ロードを使用して、設定、 LingerAddMembership、およびDropMembershipSocketオプション。Use this overload to set the Linger, AddMembership, and DropMembershipSocket options. Lingerオプションを使用してSocketoptionLevelパラメーター。For the Linger option, use Socket for the optionLevel parameter. AddMembershipDropMembershipを使用して、IPします。For AddMembership and DropMembership, use IP. 上記のオプションのいずれかの現在の値を取得するを使用する場合、GetSocketOptionメソッド。If you want to get the current value of any of the options listed above, use the GetSocketOption method.

注意

表示された場合、SocketExceptionを使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

こちらもご覧ください

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

指定した Socket オプションを、指定した整数値に設定します。Sets the specified Socket option to the specified integer value.

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)

パラメーター

optionValue
Int32 Int32 Int32 Int32

オプションの値。A value of the option.

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

次のコード例のセット、LingerOptionSendタイムアウト値。The following code example sets the LingerOption and Send time-out values.

// Specifies that send operations will time-out 
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000 );

// 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 );
// Send operations will time-out if confirmation 
// is not received within 1000 milliseconds.
s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);

// The socket will linger for 10 seconds after Socket.Close is called.
LingerOption lingerOption = new LingerOption (true, 10);

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);

'Send operations will time-out if confirmation is 
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

' 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 options determine the behavior of the current Socket. オプションについては、Booleanオプションを有効に 0 以外の値とオプションを無効にゼロ値を指定、データ型します。For an option with a Boolean data type, specify a nonzero value to enable the option, and a zero value to disable the option. 整数データ型のオプションについては、適切な値を指定します。For an option with an integer data type, specify the appropriate value. Socket オプションは、プロトコルのサポートのレベルでグループ化されます。Socket options are grouped by level of protocol support.

次の一覧は、さまざまなSocketオプションをこのオーバー ロードを使用して設定できます。Listed below are the various Socket options that can be set using this overload. これらのオプションが適切にグループ化SocketOptionLevelします。These options are grouped by the appropriate SocketOptionLevel. これらのオプションを設定する場合は、必ず使用して、適切なSocketOptionLeveloptionLevelパラメーター。If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel for the optionLevel parameter. 設定するオプションを指定する必要があります、optionNameパラメーター。The option you choose to set must be specified in the optionName parameter. オプションの一覧のいずれかの現在の値を取得するを使用する場合、GetSocketOptionメソッド。If you want to get the current value of any of the options listed, use the GetSocketOption method.

SocketOptionLevel.Socket このオーバー ロードを使用して設定できるオプションです。SocketOptionLevel.Socket options that can be set using this overload.

SocketOptionLevel.IP このオーバー ロードを使用して設定できるオプションです。SocketOptionLevel.IP options that can be set using this overload.

SocketOptionLevel.Tcp このオーバー ロードを使用して設定できるオプションです。SocketOptionLevel.Tcp options that can be set using this overload.

SocketOptionLevel.Udp このオーバー ロードを使用して設定できるオプションです。SocketOptionLevel.Udp options that can be set using this overload.

SocketOptionLevel.IPv6 このオーバー ロードを使用して設定できるオプションです。SocketOptionLevel.IPv6 options that can be set using this overload.

これらのオプションの詳細についてを参照してください、SocketOptionName列挙体。For more information about these options, refer to the SocketOptionName enumeration.

注意

表示された場合、SocketExceptionを使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。This member outputs trace information when you enable network tracing in your application. 詳細については、次を参照してください。ネットワークのトレースを .NET Framework でします。For more information, see Network Tracing in the .NET Framework.

こちらもご覧ください

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

指定した Socket オプションを、指定した Boolean 値に設定します。Sets the specified Socket option to the specified Boolean value.

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)

パラメーター

optionValue
Boolean Boolean Boolean Boolean

Boolean として表されるオプションの値。The value of the option, represented as a Boolean.

例外

Socket オブジェクトは閉じられています。The Socket object has been closed.

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

次のコード例が、ソケットを開き、により、 DontLingerOutOfBandInlineソケット オプション。The following code example opens a socket and enables the DontLinger and the OutOfBandInline socket options.

// 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します。Socket options determine the behavior of the current Socket. 設定optionValuetrueオプションを有効にまたはfalseオプションを無効にします。Set optionValue to true to enable the option, or to false to disable the option.

Socket オプションは、プロトコルのサポートのレベルでグループ化されます。Socket options are grouped by level of protocol support.

次の一覧は、さまざまなSocketオプションをこのオーバー ロードを使用して設定できます。Listed below are the various Socket options that can be set using this overload. これらのオプションが適切にグループ化SocketOptionLevel値。These options are grouped by the appropriate SocketOptionLevel value. これらのオプションを設定する場合は、必ず使用して、適切なSocketOptionLevel値、optionLevelパラメーター。If you intend to set any of these options, be sure to use the appropriate SocketOptionLevel value for the optionLevel parameter. 設定するオプションを指定する必要があります、optionNameパラメーター。The option you choose to set must be specified in the optionName parameter. オプションの一覧のいずれかの現在の値を取得するを使用する場合、GetSocketOptionメソッド。If you want to get the current value of any of the options listed, use the GetSocketOption method.

SocketOptionLevel.Socket このオーバー ロードを使用して設定できるオプションです。SocketOptionLevel.Socket options that can be set using this overload.

SocketOptionLevel.IP このオーバー ロードを使用して設定できるオプションです。SocketOptionLevel.IP options that can be set using this overload.

SocketOptionLevel.Tcp このオーバー ロードを使用して設定できるオプションです。SocketOptionLevel.Tcp options that can be set using this overload.

SocketOptionLevel.Udp このオーバー ロードを使用して設定できるオプションです。SocketOptionLevel.Udp options that can be set using this overload.

これらのオプションの詳細についてを参照してください、SocketOptionName列挙体。For more information on these options, refer to the SocketOptionName enumeration.

注意

表示された場合、SocketException例外を使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException exception, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

指定した Socket オプションを、指定した値に設定します。この値はバイト配列で表されます。Sets the specified Socket option to the specified value, represented as a byte array.

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

パラメーター

optionValue
Byte[]

オプションの値を表す Byte 型の配列。An array of type Byte that represents the value of the option.

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

次のコード例のセット、LingerOptionSendタイムアウト値。The following code example sets the LingerOption and Send time-out values.

// Specifies that send operations will time-out 
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000 );

// 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 );
// Send operations will time-out if confirmation 
// is not received within 1000 milliseconds.
s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);

// The socket will linger for 10 seconds after Socket.Close is called.
LingerOption lingerOption = new LingerOption (true, 10);

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);

'Send operations will time-out if confirmation is 
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

' 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 options determine the behavior of the current Socket. このオーバー ロードを使用して、それらを設定するSocketオプションの値としてバイト配列を必要とするオプション。Use this overload to set those Socket options that require a byte array as an option value.

注意

表示された場合、SocketExceptionを使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。This member outputs trace information when you enable network tracing in your application. 詳細については、次を参照してください。ネットワークのトレースを .NET Framework でします。For more information, see Network Tracing in the .NET Framework.

こちらもご覧ください

適用対象