Socket.SetSocketOption メソッド (SocketOptionLevel, SocketOptionName, Int32)
アセンブリ: System (system.dll 内)

Public Sub SetSocketOption ( _ optionLevel As SocketOptionLevel, _ optionName As SocketOptionName, _ optionValue As Integer _ )
Dim instance As Socket Dim optionLevel As SocketOptionLevel Dim optionName As SocketOptionName Dim optionValue As Integer instance.SetSocketOption(optionLevel, optionName, optionValue)
public void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, int optionValue )
public: void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, int optionValue )
public void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, int optionValue )
public function SetSocketOption ( optionLevel : SocketOptionLevel, optionName : SocketOptionName, optionValue : int )
- optionLevel
SocketOptionLevel 値の 1 つ。
- optionName
SocketOptionName 値の 1 つ。
- optionValue
オプションの値。


Socket オプションは、現在の Socket の動作を決定します。Boolean データ型のオプションの場合は、0 以外の値を指定するとオプションが有効になり、0 を指定するとオプションが無効になります。整数型のオプションの場合は、適切な値を指定します。Socket オプションはプロトコル サポートのレベルによってグループ化されています。
このオーバーロードを使用して設定できるさまざまな Socket オプションを次に示します。これらのオプションは適切な SocketOptionLevel によってグループ化されます。これらのオプションのいずれかを設定する場合、適切な SocketOptionLevel を optionLevel パラメータに使用してください。設定するオプションは、optionName パラメータで指定する必要があります。これらのオプションの現在の値を取得するには、GetSocketOption メソッドを使用します。
このオーバーロードを使用して設定できる SocketOptionLevel.Socket オプション。
-
DontLinger
-
OutOfBandInline
-
ReceiveBuffer
-
ReceiveTimeout
-
ReuseAddress
-
SendBuffer
-
SendTimeout
このオーバーロードを使用して設定できる SocketOptionLevel.IP オプション。
-
HeaderIncluded
-
IPOptions
-
IpTimeToLive
-
MulticastInterface
-
MulticastLoopback
-
MulticastTimeToLive
-
UseLoopback
このオーバーロードを使用して設定できる SocketOptionLevel.Tcp オプション。
-
BsdUrgent
-
NoDelay
このオーバーロードを使用して設定できる SocketOptionLevel.Udp オプション。
-
ChecksumCoverage
-
NoChecksum
このオーバーロードを使用して設定できる SocketOptionLevel.IPv6 オプション。
これらのオプションの詳細については、SocketOptionName 列挙体のトピックを参照してください。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |
Windows 98, Windows NT 4.0 プラットフォームメモ : optionName パラメータとして AddMembership を使用する前に、Bind メソッドを呼び出す必要があります。

LingerOption タイムアウト値と Send タイムアウト値を設定するコード例を次に示します。
'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)
// 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);
// 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);

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.SetSocketOption メソッド (SocketOptionLevel, SocketOptionName, Boolean)
アセンブリ: System (system.dll 内)

Public Sub SetSocketOption ( _ optionLevel As SocketOptionLevel, _ optionName As SocketOptionName, _ optionValue As Boolean _ )
Dim instance As Socket Dim optionLevel As SocketOptionLevel Dim optionName As SocketOptionName Dim optionValue As Boolean instance.SetSocketOption(optionLevel, optionName, optionValue)
public void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, bool optionValue )
public: void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, bool optionValue )
public void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, boolean optionValue )
public function SetSocketOption ( optionLevel : SocketOptionLevel, optionName : SocketOptionName, optionValue : boolean )
- optionLevel
SocketOptionLevel 値の 1 つ。
- optionName
SocketOptionName 値の 1 つ。


Socket オプションは、現在の Socket の動作を決定します。optionValue を true に設定してオプションを有効にするか、false に設定してオプションを無効にします。
Socket オプションは、プロトコル サポートのレベルによってグループ化されます。
このオーバーロードを使用して設定できるさまざまな Socket オプションを次に示します。これらのオプションは適切な SocketOptionLevel 値によってグループ化されます。これらのオプションのいずれかを設定する場合、適切な SocketOptionLevel 値を optionLevel パラメータに使用してください。設定するオプションは、optionName パラメータで指定する必要があります。これらのオプションの現在の値を取得するには、GetSocketOption メソッドを使用します。
このオーバーロードを使用して設定できる SocketOptionLevel.Socket オプション。
このオーバーロードを使用して設定できる SocketOptionLevel.IP オプション。
-
HeaderIncluded
-
MulticastLoopback
-
UseLoopback
このオーバーロードを使用して設定できる SocketOptionLevel.Tcp オプション。
-
BsdUrgent
-
NoDelay
このオーバーロードを使用して設定できる SocketOptionLevel.Udp オプション。
-
NoChecksum
これらのオプションの詳細については、SocketOptionName 列挙体のトピックを参照してください。
![]() |
---|
SocketException 例外が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのマニュアルからエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |

ソケットを開いて、DontLinger ソケット オプションと OutOfBandInline ソケット オプションを有効にするコード例を次に示します。
// Establish the local endpoint for the socket. IPHostEntry ipHost = Dns.Resolve(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);

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.SetSocketOption メソッド (SocketOptionLevel, SocketOptionName, Object)
アセンブリ: System (system.dll 内)

Public Sub SetSocketOption ( _ optionLevel As SocketOptionLevel, _ optionName As SocketOptionName, _ optionValue As Object _ )
Dim instance As Socket Dim optionLevel As SocketOptionLevel Dim optionName As SocketOptionName Dim optionValue As Object instance.SetSocketOption(optionLevel, optionName, optionValue)
public void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, Object optionValue )
public: void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, Object^ optionValue )
public void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, Object optionValue )
public function SetSocketOption ( optionLevel : SocketOptionLevel, optionName : SocketOptionName, optionValue : Object )
- optionLevel
SocketOptionLevel 値の 1 つ。
- optionName
SocketOptionName 値の 1 つ。


Socket オプションは、現在の Socket の動作を決定します。このオーバーロードを使用して、Linger オプション、AddMembership オプション、および DropMembershipSocket オプションを設定します。Linger オプションの場合は、optionLevel パラメータで Socket を使用します。AddMembership オプションおよび DropMembership オプションについては、IP を使用します。上記のオプションの現在の値を取得するには、GetSocketOption メソッドを使用します。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |
Windows 98, Windows NT 4.0 プラットフォームメモ : optionName パラメータとして AddMembership を使用する前に、Bind メソッドを呼び出す必要があります。

LingerOption タイムアウト値と Send タイムアウト値を設定するコード例を次に示します。
'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)
// 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);
// 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);

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.SetSocketOption メソッド

名前 | 説明 |
---|---|
Socket.SetSocketOption (SocketOptionLevel, SocketOptionName, Boolean) | 指定した Socket オプションを、指定した Boolean 値に設定します。 |
Socket.SetSocketOption (SocketOptionLevel, SocketOptionName, Byte[]) | 指定した Socket オプションを、指定した値に設定します。この値はバイト配列で表されます。 .NET Compact Framework によってサポートされています。 |
Socket.SetSocketOption (SocketOptionLevel, SocketOptionName, Int32) | 指定した Socket オプションを、指定した値に設定します。 .NET Compact Framework によってサポートされています。 |
Socket.SetSocketOption (SocketOptionLevel, SocketOptionName, Object) | 指定した Socket オプションを、指定した値に設定します。この値はオブジェクトで表されます。 .NET Compact Framework によってサポートされています。 |

Socket.SetSocketOption メソッド (SocketOptionLevel, SocketOptionName, Byte[])
アセンブリ: System (system.dll 内)

Public Sub SetSocketOption ( _ optionLevel As SocketOptionLevel, _ optionName As SocketOptionName, _ optionValue As Byte() _ )
Dim instance As Socket Dim optionLevel As SocketOptionLevel Dim optionName As SocketOptionName Dim optionValue As Byte() instance.SetSocketOption(optionLevel, optionName, optionValue)
public void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, byte[] optionValue )
public: void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, array<unsigned char>^ optionValue )
public void SetSocketOption ( SocketOptionLevel optionLevel, SocketOptionName optionName, byte[] optionValue )
public function SetSocketOption ( optionLevel : SocketOptionLevel, optionName : SocketOptionName, optionValue : byte[] )
- optionLevel
SocketOptionLevel 値の 1 つ。
- optionName
SocketOptionName 値の 1 つ。


Socket オプションは、現在の Socket の動作を決定します。このオーバーロードを使用して、オプション値としてバイト配列を必要とする Socket オプションを設定します。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |
Windows 98, Windows NT 4.0 プラットフォームメモ : optionName パラメータとして AddMembership を使用する前に、Bind メソッドを呼び出す必要があります。

LingerOption タイムアウト値と Send タイムアウト値を設定するコード例を次に示します。
'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)
// 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);
// 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);

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- Socket.SetSocketOptionのページへのリンク