Socket.SetSocketOption メソッド

定義

Socket オプションを設定します。

オーバーロード

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

指定した Socket オプションを、指定した 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

指定した Socket オプションを、指定した Boolean 値に設定します。

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 つ。

optionValue
Boolean

Boolean として表されるオプションの値。

例外

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 値でグループ化されます。 これらのオプションのいずれかを設定する場合は、 パラメーターに適切な SocketOptionLeveloptionLevel を使用してください。 設定するオプションは、 パラメーターで指定する optionName 必要があります。 一覧表示されているオプションの現在の値を取得する場合は、 メソッドを使用します GetSocketOption

SocketOptionLevel.Socket このオーバーロードを使用して設定できるオプション。

SocketOptionLevel.IP このオーバーロードを使用して設定できるオプション。

SocketOptionLevel.Tcp このオーバーロードを使用して設定できるオプション。

SocketOptionLevel.Udp このオーバーロードを使用して設定できるオプション。

これらのオプションの詳細については、 列挙を SocketOptionName 参照してください。

Note

例外が発生した場合は 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 つ。

optionValue
Byte[]

オプションの値を表す Byte 型の配列。

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。

Socket が閉じられました。

次のコード例では、 LingerOptionSend のタイムアウト値を設定します。

// 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 します。

Note

を受け取った場合は 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 が閉じられました。

次のコード例では、 LingerOptionSend のタイムアウト値を設定します。

// 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 参照してください。

Note

を受け取った場合は 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

例外

optionValuenullです。

ソケットへのアクセスを試行しているときにエラーが発生しました。

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

Note

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

こちらもご覧ください

適用対象