SocketOptionName 열거형

정의

구성 옵션 이름을 정의합니다.

public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName = 
Public Enum SocketOptionName
상속
SocketOptionName

필드

AcceptConnection 2

소켓이 수신 중입니다.

AddMembership 12

IP 그룹 구성원을 추가합니다.

AddSourceMembership 15

원본 그룹을 조인합니다.

BlockSource 17

원본의 데이터를 차단합니다.

Broadcast 32

소켓의 브로드캐스트 메시지 보내기를 허용합니다.

BsdUrgent 2

RFC-1222에 정의된 대로 긴급한 데이터를 사용합니다. 이 옵션은 한 번만 설정할 수 있으며, 설정한 후에는 해제할 수 없습니다.

ChecksumCoverage 20

UDP 체크섬 범위를 설정하거나 가져옵니다.

Debug 1

디버깅 정보를 기록합니다.

DontFragment 14

IP 데이터그램을 조각화하지 않습니다.

DontLinger -129

소켓을 즉시 자동으로 닫습니다.

DontRoute 16

라우팅하지 않고 인터페이스 주소로 직접 패킷을 보냅니다.

DropMembership 13

IP 그룹 구성원을 드롭합니다.

DropSourceMembership 16

원본 그룹을 삭제합니다.

Error 4103

오류 상태를 가져온 다음, 지웁니다.

ExclusiveAddressUse -5

단독 액세스를 위해 소켓에 바인딩할 수 있습니다.

Expedited 2

RFC-1222에 정의된 대로 긴급 데이터를 사용합니다. 이 옵션은 한 번만 설정할 수 있으며, 설정한 후에는 해제할 수 없습니다.

HeaderIncluded 2

나가는 데이터그램의 IP 헤더를 애플리케이션이 제공함을 나타냅니다.

HopLimit 21

IPv6(인터넷 프로토콜 버전 6) 패킷에 대한 최대 라우터 홉 수를 지정합니다. 이 옵션은 인터넷 프로토콜 버전 4의 TTL(Time to Live)과 유사합니다.

IPOptions 1

나가는 데이터그램에 삽입될 IP 옵션을 지정합니다.

IPProtectionLevel 23

링크가 동일한 로컬 또는 사이트 로컬 접두사 주소와 같이 지정된 범위에 IPv6 소켓을 제한할 수 있습니다. 이 소켓 옵션을 사용하면 애플리케이션이 IPv6 소켓에 액세스 제한을 적용할 수 있습니다. 이러한 제한을 사용하면 사설 LAN에서 실행되는 애플리케이션을 간단하고 강력하게 외부 공격으로부터 보호할 수 있습니다. 이 소켓 옵션을 통해 적절한 경우 공용 및 개인 사용자의 무제한 액세스를 허용하거나 필요에 따라 같은 사이트로만 액세스를 제한하여 수신 소켓의 범위를 넓히거나 좁힐 수 있습니다. 이 소켓 옵션은 IPProtectionLevel 열거형에 지정된 보호 수준을 정의합니다.

IpTimeToLive 4

IP 헤더의 TTL(Time to Live) 필드를 설정합니다.

IPv6Only 27

AF_INET6 주소 패밀리에 대해 만든 소켓을 IPv6 통신에만 사용하도록 제한할지 여부를 나타냅니다. AF_INET6 주소 패밀리에 대해 만든 소켓은 IPv6 및 IPv4 통신 모두에 사용할 수 있습니다. 애플리케이션에 따라 AF_INET6 주소 패밀리에 대해 만든 소켓을 IPv6 통신에만 사용하도록 제한할 수 있습니다. 이 값이 0이 아니면(Windows의 경우 기본값) AF_INET6 주소 패밀리에 대해 만든 소켓을 IPv6 패킷을 보내고 받는 데만 사용할 수 있습니다. 이 값이 0이면 AF_INET6 주소 패밀리에 대해 만든 소켓을 IPv6 주소 또는 IPv4 주소에서 패킷을 보내고 받는 데 사용할 수 있습니다. IPv4 주소를 조작할 수 있으려면 IPv4로 매핑된 주소를 사용해야 합니다. 이 소켓 옵션은 Windows Vista 이상에서 지원됩니다.

KeepAlive 8

연결 유지를 사용합니다.

Linger 128

보내지 않은 데이터가 있으면 닫기가 지연됩니다.

MaxConnections 2147483647

지원되지 않는 값이므로 이 값을 사용하면 SocketException이 throw됩니다.

MulticastInterface 9

나가는 멀티캐스트 패킷에 대한 인터페이스를 설정합니다.

MulticastLoopback 11

IP 멀티캐스트 루프백입니다.

MulticastTimeToLive 10

IP 멀티캐스트 TTL(Time to Live)입니다.

NoChecksum 1

체크섬을 0으로 설정하여 UDP 데이터그램을 보냅니다.

NoDelay 1

보내기 통합을 위해 Nagle 알고리즘을 비활성화합니다.

OutOfBandInline 256

정상 데이터 스트림 내의 대역 외 데이터를 받습니다.

PacketInformation 19

받은 패킷에 관한 정보를 반환합니다.

ReceiveBuffer 4098

받기용으로 예약된 소켓당 버퍼 공간 전체를 지정합니다. 이 크기는 최대 메시지 크기나 TCP 창의 크기와는 관련이 없습니다.

ReceiveLowWater 4100

Receive 작업에 대해 하위 워터마크를 지정합니다.

ReceiveTimeout 4102

시간 초과를 받습니다. 이 옵션은 동기 메서드에만 적용됩니다. 메서드와 같은 BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) 비동기 메서드에는 영향을 주지 않습니다.

ReuseAddress 4

소켓이 이미 사용 중인 주소에 바인딩될 수 있습니다.

ReuseUnicastPort 12295

시스템이 아웃바운드 연결에 대한 임시 포트 할당을 연기 해야 함을 나타냅니다. Winsock2 SO_REUSE_UNICASTPORT 소켓 옵션을 사용하는 것과 같습니다.

SendBuffer 4097

보내기용으로 예약된 소켓당 버퍼 공간 전체를 지정합니다. 이 크기는 최대 메시지 크기나 TCP 창의 크기와는 관련이 없습니다.

SendLowWater 4099

Send 작업에 대해 하위 워터마크를 지정합니다.

SendTimeout 4101

시간 초과를 보냅니다. 이 옵션은 동기 메서드에만 적용됩니다. 메서드와 같은 BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) 비동기 메서드에는 영향을 주지 않습니다.

TcpKeepAliveInterval 17

TCP 연결에서 다른 keepalive 프로브를 보내기 전에 keepalive 응답을 대기하는 시 (초)입니다.

TcpKeepAliveRetryCount 16

연결이 종료되기 전에 전송되는 TCP 연결 유지 프로브 수입니다.

TcpKeepAliveTime 3

Keepalive 프로브를 원격으로 보내기 전에 TCP 연결이 활성/유휴 상태로 유지되는 시간(초)입니다.

Type 4104

소켓 형식을 가져옵니다.

TypeOfService 3

서비스 필드의 IP 헤더 형식을 변경합니다.

UnblockSource 18

이전에 차단된 원본의 차단을 해제합니다.

UpdateAcceptContext 28683

기존 소켓의 속성을 사용하여 받아들인 소켓의 속성을 업데이트합니다. 이 옵션은 Winsock2 SO_UPDATE_ACCEPT_CONTEXT 소켓 옵션을 사용하는 것과 동일하며 연결 지향 소켓에서만 지원됩니다.

UpdateConnectContext 28688

기존 소켓의 속성을 사용하여 연결된 소켓의 속성을 업데이트합니다. 이 옵션은 Winsock2 SO_UPDATE_CONNECT_CONTEXT 소켓 옵션을 사용하는 것과 동일하며 연결 지향 소켓에서만 지원됩니다.

UseLoopback 64

가능한 경우 하드웨어를 건너뜁니다.

예제

다음 코드 예제에서는 이 열거형을 사용하여 소켓 옵션을 설정합니다.

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

설명

열거형은 SocketOptionNameSocket 구성 옵션의 이름을 정의합니다. 소켓은 메서드를 사용하여 Socket.SetSocketOption 구성할 수 있습니다.

적용 대상

추가 정보