고급 WebSocket 컨트롤을 사용하는 방법(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows에서 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

이 항목에서는 Windows 런타임 앱에서 MessageWebSocketStreamWebSocket 기능을 사용할 경우 고급 소켓 컨트롤을 사용하는 방법을 설명합니다.

알아야 할 사항

기술

사전 요구 사항

  • 이 항목의 예제는 JavaScript로 제공됩니다. WebSocket을 기본적으로 이해하고 있는 것이 좋습니다.

고급 WebSocket 컨트롤 개요

MessageWebSocketStreamWebSocket 클래스는 고급 컨트롤 사용에 대한 동일한 모델을 따릅니다. 위 기본 클래스에는 각각 고급 컨트롤에 액세스할 수 있는 관련 클래스가 있습니다.

고급 컨트롤을 사용하는 기본 모델은 두 가지 유형의 WebSocket에 대해 모두 동일합니다. 아래 설명에서는 StreamWebSocket을 예제로 사용하지만 MessageWebSocket에도 동일한 프로세스를 사용할 수 있습니다.

연결 작업을 실행하기 전에 앱은 항상 StreamWebSocketControl에서 속성을 설정해야 합니다. 따라서 소켓이 생성된 후에 바로 고급 옵션을 설정하는 것이 좋습니다. 소켓이 ConnectAsync 메서드를 호출한 후에 StreamWebSocketControl 속성을 설정하려고 하지 마세요.

고급 StreamWebSocket 컨트롤

StreamWebSocket에 대한 고급 옵션에는 여러 가지가 있습니다.

한 예로 StreamWebSocketControl.NoDelay 옵션을 자세히 살펴보겠습니다. StreamWebSocket을 만들 때 기본 설정은 이 옵션을 true로 설정하는 것입니다. 이 경우 Nagle 알고리즘이 사용하지 않도록 설정됩니다. 그러나 여러 개의 작은 패킷을 보내는 앱에 StreamWebSocket을 사용하며 대기 시간이 문제가 되지 않을 경우 네트워크 트래픽을 줄이려면 StreamWebSocketControl.NoDelayfalse로 설정하여 Nagle 알고리즘을 사용할 수 있습니다.

다음 예제에서는 StreamWebSocket을 만들고 StreamWebSocketControl.NoDelayfalse로 설정합니다. 이 작업이 완료되면 앱에서 StreamWebSocket을 연결할 수 있습니다.

    var clientWebSocket = new Windows.Networking.Sockets.StreamWebSocket();

    // Get the current setting for this option
    // This isn't required, but it shows how to get the current setting
    var currentSetting = clientWebSocket.control.noDelay; 

    // Set noDelay to false so that the Nagle algorithm isn't disabled
    clientWebSocket.control.noDelay = false;
   
    // Now you can call the ConnectAsync method to connect the StreamWebSocket.

고급 MessageWebSocket 컨트롤

MessageWebSocket의 고급 옵션은 대부분 StreamWebSocket의 고급 옵션과 동일하지만 일부 차이점이 있습니다.

MessageWebSocket에 대한 옵션을 설정하는 방식은 위 예제에서와 같습니다.

설명

컨트롤 데이터 외에 유사한 관련 클래스 집합에서 이러한 기본 클래스의 추가 정보에 대한 액세스를 제공합니다.

이러한 클래스에는 소켓에 대한 추가 정보를 제공하는 속성이 있습니다.

관련 항목

기타

WebSocket을 사용하여 연결

MessageWebSocket을 사용하여 연결하는 방법

StreamWebSocket을 사용하여 연결하는 방법

TLS/SSL을 통해 WebSocket 연결의 보안을 유지하는 방법

참조

MessageWebSocket

StreamWebSocket

Windows.Networking.Sockets

샘플

WebSocket 샘플