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)

Source:
Socket.cs
Source:
Socket.cs
Source:
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 값 중 하나입니다.

optionName
SocketOptionName

SocketOptionName 값 중 하나입니다.

optionValue
Boolean

Boolean으로 나타낸 옵션 값입니다.

예외

Socket 개체가 닫힌 경우

소켓에 액세스하는 동안 오류가 발생했습니다.

예제

다음 코드 예제에서는 소켓을 열고 및 OutOfBandInline 소켓 옵션을 사용하도록 설정합니다DontLinger.

// 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[])

Source:
Socket.cs
Source:
Socket.cs
Source:
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 값 중 하나입니다.

optionName
SocketOptionName

SocketOptionName 값 중 하나입니다.

optionValue
Byte[]

해당 옵션 값을 나타내는 Byte 형식의 배열입니다.

예외

소켓에 액세스하는 동안 오류가 발생했습니다.

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의 동작을 결정합니다. 이 오버로드를 사용하여 바이트 배열이 필요한 옵션을 옵션 값으로 설정합니다 Socket .

참고

을 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다. 이 코드를 가져온 후 오류에 대한 자세한 설명은 Windows 소켓 버전 2 API 오류 코드 설명서를 참조하세요.

참고

애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.

추가 정보

적용 대상

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Source:
Socket.cs
Source:
Socket.cs
Source:
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 값 중 하나입니다.

optionName
SocketOptionName

SocketOptionName 값 중 하나입니다.

optionValue
Int32

해당 옵션의 값입니다.

예외

소켓에 액세스하는 동안 오류가 발생했습니다.

Socket이 닫혔습니다.

예제

다음 코드 예제에서는 및 Send 제한 시간 값을 설정합니다LingerOption.

// 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 오류 코드 설명서를 참조하세요.

참고

애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.

추가 정보

적용 대상

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Source:
Socket.cs
Source:
Socket.cs
Source:
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 값 중 하나입니다.

optionName
SocketOptionName

SocketOptionName 값 중 하나입니다.

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의 동작을 결정합니다. 이 오버로드를 사용하여 , AddMembershipDropMembershipSocket 옵션을 설정합니다Linger. 옵션의 Linger 경우 매개 변수에 를 optionLevel 사용합니다Socket. 및 의 경우 AddMembership 를 사용합니다IP.DropMembership 위에 나열된 옵션의 현재 값을 얻으려면 메서드를 GetSocketOption 사용합니다.

참고

을 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다. 이 코드를 가져온 후 오류에 대한 자세한 설명은 Windows 소켓 버전 2 API 오류 코드 설명서를 참조하세요.

추가 정보

적용 대상