Share via


Comment utiliser des contrôles WebSocket avancés (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Cette rubrique explique comment utiliser des contrôles de socket avancés lorsque les fonctionnalités MessageWebSocket et StreamWebSocket sont utilisées dans une application Windows Runtime.

Ce que vous devez savoir

Technologies

Prérequis

  • Les exemples fournis dans cette rubrique sont en langage JavaScript. Des connaissances de base sur les WebSockets sont recommandées.

Vue d’ensemble des contrôles WebSocket avancés

Les classes MessageWebSocket et StreamWebSocket suivent le même modèle en matière d’utilisation de contrôles avancés. À chacune des classes principales ci-dessus correspondent des classes associées permettant d’accéder à des contrôles avancés :

Le modèle de base pour l’utilisation des contrôles avancés est le même pour les deux types de WebSockets. Dans la discussion qui suit, un objet StreamWebSocket est utilisé comme exemple, mais le même processus peut être utilisé avec un MessageWebSocket.

L’application doit toujours définir la propriété sur l’objet StreamWebSocketControl avant de lancer une opération de connexion. Pour cette raison, il est préférable de définir les options avancées immédiatement après avoir créé le socket. N’essayez pas de définir une propriété StreamWebSocketControl après que le socket a appelé la méthode ConnectAsync.

Contrôles StreamWebSocket avancés

L’objet StreamWebSocket propose différentes options avancées.

Par exemple, étudions plus en détail l’option StreamWebSocketControl.NoDelay. Lors de la création de StreamWebSocket, cette option est définie par défaut sur true, ce qui désactive l’algorithme de Nagle. Toutefois, si StreamWebSocket est utilisé pour une application qui envoie de nombreux petits paquets et si la latence n’est pas un problème, l’algorithme de Nagle peut être activé en affectant à StreamWebSocketControl.NoDelay la valeur false afin de réduire le trafic réseau.

L’exemple suivant crée un objet StreamWebSocket et affecte à StreamWebSocketControl.NoDelay la valeur false. Après cela, l’application peut connecter le 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.

Contrôles MessageWebSocket avancés

Nombre des options avancées de l’objet MessageWebSocket sont identiques à celles de l’objet StreamWebSocket, mais il existe quelques différences.

Les options d’un objet MessageWebSocket sont définies pratiquement de la même manière que dans l’exemple ci-dessus.

Remarques

Outre les données de contrôle, un ensemble similaire de classes associées donne accès à des informations supplémentaires sur ces classes principales :

Ces classes ont des propriétés qui fournissent des informations supplémentaires sur le socket.

Rubriques associées

Autre

Connexion à l’aide de sockets WebSocket

Comment établir une connexion à l’aide d’un MessageWebSocket

Comment établir une connexion à l’aide d’un StreamWebSocket

Comment sécuriser des connexions WebSocket avec TLS/SSL

Référence

MessageWebSocket

StreamWebSocket

Windows.Networking.Sockets

Exemples

Exemple WebSocket