다음을 통해 공유


WebSocketKeepAlive 클래스

정의

연결된 WebSocket에서 WebSocket 프로토콜 keep-alive를 보내는 기능을 제공합니다.

public ref class WebSocketKeepAlive sealed : IBackgroundTask
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class WebSocketKeepAlive final : IBackgroundTask
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class WebSocketKeepAlive final : IBackgroundTask
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class WebSocketKeepAlive : IBackgroundTask
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class WebSocketKeepAlive : IBackgroundTask
Public NotInheritable Class WebSocketKeepAlive
Implements IBackgroundTask
상속
Object Platform::Object IInspectable WebSocketKeepAlive
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

설명

WebSocketKeepAlive 클래스는 ControlChannelTrigger 클래스 및 관련 인터페이스와 함께 사용하여 StreamWebSocketMessageWebSocket 클래스에 대한 실시간 네트워크 상태 및 트리거를 사용하도록 설정합니다. 제어 채널 트리거는 장기 실행 네트워크 앱에서 네트워크 및 시스템 리소스 사용을 최소화하는 데 사용됩니다. 네트워크 트리거를 사용하면 설정된 네트워크 연결을 그대로 유지하면서도 저전력 상태로 유지하면서 앱이 일정 기간 동안 저전력 모드로 떨어질 수 있습니다. 앱은 앱이 절전 모드에서 해제되고 WebSocket keep-alive 패킷을 보내야 하는 경우에 대해 시스템에서 사용하는 연결 유지 트리거를 설정할 수 있습니다.

UWP 앱은 포그라운드에 더 이상 없을 때 일반적으로 일시 중단됩니다. 앱이 일시 중단되지 않아야 하는 몇 가지 예외가 있습니다(예: 적극적으로 인쇄, 오디오 스트림 액세스 및 백그라운드에서 파일 전송). ControlChannelTrigger 클래스를 사용하면 WebSocket 연결을 설정한 네트워크 앱이 네트워크 연결을 계속 작동해야 하며 앱에 대한 네트워크 데이터를 수신하거나 WebSocket 연결 유지 패킷을 보낼 때 시스템이 일시 중단된 앱을 절전 모드에서 해제해야 함을 시스템에 알릴 수 있습니다.

WebSocketKeepAlive는 ControlChannelTrigger에서 연결 유지를 위한 TaskEntryPoint로 사용됩니다. 개발자는 데이터 수신을 처리하는 코드를 작성해야 합니다.

앱 일시 중단 및 해제에 대한 자세한 내용은 백그라운드 연결 옵션을 설정하는 방법을 참조하세요.

WebSocket 연결 유지 제어 프레임에 대한 자세한 내용은 WebSocket 프로토콜을 참조하세요.

생성자

WebSocketKeepAlive()

WebSocketKeepAlive 개체를 만듭니다.

메서드

Run(IBackgroundTaskInstance)

연결된 WebSocket에서 WebSocket 프로토콜 keep-alive를 보냅니다.

적용 대상