Compartilhar via


Como usar controles avançados de WebSocket (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Este tópico explica como usar controles de soquete avançados ao utilizar os recursos MessageWebSocket e StreamWebSocket em um aplicativo do Tempo de Execução do Windows.

O que você precisa saber

Tecnologias

Pré-requisitos

  • Os exemplos deste tópico são fornecidos em JavaScript. Recomendamos conhecimento básico em WebSockets.

Visão geral dos controles WebSocket avançados

As classes MessageWebSocket e StreamWebSocket seguem o mesmo modelo para uso de controles avançados. Cada uma das classes primárias acima corresponde a classes relacionadas de acesso a controles avançados:

O modelo básico para usar controles avançados é o mesmo para os dois tipos de WebSockets. O assunto abordado a seguir usa StreamWebSocket como exemplo, mas o mesmo processo pode ser usado com um MessageWebSocket.

O aplicativo deve sempre definir a propriedade em StreamWebSocketControl antes de emitir uma operação de conexão. Por causa disso, é melhor definir todas as opções avançadas imediatamente após a criação do soquete. Não tente definir uma propriedade StreamWebSocketControl depois que um soquete chamar o método ConnectAsync.

Controles StreamWebSocket avançados

Há diversas opções avançadas em StreamWebSocket.

Como exemplo, vejamos a opção StreamWebSocketControl.NoDelay com mais detalhes. Quando um StreamWebSocket é criado, a configuração padrão estabelece que essa opção seja definida como true, desativando o algoritmo Nagle. Porém se o StreamWebSocket for usado para um aplicativo que envia muitos pacotes de e-mail e cuja latência não seja um problema, o algoritmo de Nagle poderá ser habilitado configurando StreamWebSocketControl.NoDelay como false para reduzir o tráfego da rede.

O exemplo a seguir cria um StreamWebSocket e define o StreamWebSocketControl.NoDelay como false. Quando isso é feito, o aplicativo pode conectar o 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.

Controles MessageWebSocket avançados

Muitas das opções avançadas no MessageWebSocket são as mesmas do StreamWebSocket, com algumas diferenças.

Essencialmente, a definição das opções em um MessageWebSocket é feita do mesmo modo que nos exemplos anteriores.

Comentários

Além de controlar dados, um conjunto semelhante de classes relacionadas fornece acesso a mais informações sobre essas classes primárias:

Essas classes têm propriedades que fornecem mais informações sobre o soquete.

Tópicos relacionados

Outro

Conectando-se com WebSockets

Como conectar-se com um MessageWebSocket

Como conectar-se com um StreamWebSocket

Como proteger conexões WebSocket com TLS/SSL

Referência

MessageWebSocket

StreamWebSocket

Windows.Networking.Sockets

Exemplos

Exemplo de WebSocket