정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

StreamSocketControl.NoDelay | noDelay Property

StreamSocket 개체에 Nagle 알고리즘이 사용되는지 여부를 나타내는 값입니다.

구문


var noDelay = streamSocketControl.noDelay;
streamSocketControl.noDelay = noDelay;

속성 값

형식: Boolean [JavaScript] | System.Boolean [.NET] | Platform::Boolean [C++]

StreamSocket 개체의 TCP 연결에 Nagle 알고리즘이 사용되는지 여부를 나타내는 값입니다.

설명

StreamSocketControl.NoDelay 속성은 Nagle 알고리즘을 StreamSocket 개체에 대해 사용하도록 설정했는지 여부를 제어합니다. StreamSocketControl.NoDelay 속성의 기본값은 true입니다.

Nagle 알고리즘은 네트워크를 통해 전송하는 데 필요한 패킷 수를 줄여 TCP/IP 네트워크의 효율성을 향상 시키는 기술입니다. 알고리즘에서 작은 청크로 데이터를 반복적으로 내보내는 응용 프로그램으로 인한 문제를 처리하려고 합니다. TCP 패킷에는 40바이트 헤더(IP에 20바이트, TCP에 20바이트)가 있습니다. 따라서 앱에서 한 패킷에 4바이트만 보내는 경우에는 패킷 데이터에 대한 오버헤드가 매우 큽니다. 이는 대부분의 키 누르기가 즉시 전송되는 데이터의 단일 바이트나 두 바이트만 생성할 수 있는 원격 액세스 프로토콜(예: telnet 또는 보안 셸)에서 발생할 수 있습니다. 느린 링크를 통해 이러한 패킷의 대부분은 동시에 네트워크를 통해 전송할 수 있습니다. Nagle 알고리즘은 적은 용량의 보내는 메시지를 결합하여 한번에 보내는 방식으로 작동합니다. 보내는 사람이 승인을 받지 않은 보낸 패킷이 있으면 패킷에 전체 패킷 출력이 포함될 때까지 보내는 사람이 버퍼링 출력을 유지합니다. 이렇게 하면 모든 출력을 한번에 보낼 수 있습니다. Nagle 알고리즘을 적용하면 대기 시간이 늘어나는 대신 대역폭이 증가합니다. 버퍼가 내부적으로 전송하는 제대로 작성된 앱은 Nagle 알고리즘을 사용할 필요가 없습니다.

이 속성이 true인 경우 StreamSocket은 TCP 연결에 Nagle 알고리즘을 사용하지 않습니다. 이 설정은 작은 메시지를 보낼 때 잠재적 지연을 줄입니다. StreamSocket이 만들어질 때 이 속성의 기본값은 true입니다.

이 속성이 false인 경우 StreamSocket은 TCP 연결에 Nagle 알고리즘을 사용합니다. 이 설정은 대기 시간이 늘어나는 대신 대역폭을 증가시킬 수 있지만 주의해서 사용해야 합니다. Nagle의 알고리즘을 사용하고 다른 TCP 최적화도 사용할 때 몇 가지 부작용이 발생할 수 있습니다.

이 속성은 StreamSocket을 연결하기 전에 설정할 수 있습니다. StreamSocket이 연결된 후 이 속성을 설정하면 오류가 발생합니다.

이 속성은 StreamSocket에서 사용하는 TCP 소켓에서 TCP_NODELAY 소켓 옵션의 값을 설정합니다.

요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

Windows Server 2012

지원되는 최소 전화

Windows Phone 8

Namespace

Windows.Networking.Sockets
Windows::Networking::Sockets [C++]

Metadata

Windows.winmd

DLL

Windows.Networking.dll

Capabilities

ID_CAP_NETWORKING [Windows Phone]

참고 항목

StreamSocket
StreamSocketControl

 

 

표시: