Langue

StreamWebSocket Classe

Définition

Prend en charge la communication réseau qui permet de lire et d’écrire des flux à l’aide d’un WebSocket.

public ref class StreamWebSocket sealed : IClosable
/// [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 StreamWebSocket final : IClosable
/// [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 StreamWebSocket final : IClosable
[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 StreamWebSocket : System.IDisposable
[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 StreamWebSocket : System.IDisposable
function StreamWebSocket()
Public NotInheritable Class StreamWebSocket
Implements IDisposable
Héritage
Object Platform::Object IInspectable StreamWebSocket
Attributs
Implémente

Configuration requise pour Windows

Configuration requise Description
Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
Fonctionnalités de l’application
internetClient privateNetworkClientServer

Remarques

La classe StreamWebSocket fournit une abstraction basée sur le flux du protocole WebSocket basé sur les messages. Cela est utile pour les scénarios dans lesquels des fichiers volumineux (tels que des photos ou des films) doivent être transférés. L’utilisation de StreamWebSocket permet de lire des sections d’un message avec chaque opération de lecture, plutôt que de demander la lecture du message entier dans une seule opération (comme avec MessageWebSocket).

StreamWebSocket prend uniquement en charge les messages binaires. Pour les messages UTF-8, MessageWebSocket doit être utilisé.

Gestion des exceptions

Vous devez écrire du code pour gérer les exceptions lorsque vous appelez des méthodes asynchrones sur la classe StreamWebSocket. Les exceptions peuvent provenir d’erreurs de validation de paramètre, d’échecs de résolution de noms et d’erreurs réseau. Les exceptions des erreurs réseau (perte de connectivité, échecs de connexion et échecs de serveur HTTP, par exemple) peuvent se produire à tout moment. Ces erreurs entraînent la levée d’exceptions. Si elle n’est pas gérée par votre application, une exception peut entraîner l’arrêt de l’ensemble de votre application par le runtime.

Le Windows. L’espace de noms Networking.Sockets a une méthode d’assistance et une énumération pratiques pour la gestion des erreurs lors de l’utilisation de WebSockets. Cela peut être utile pour gérer des exceptions réseau spécifiques différemment dans votre application. Une application peut également utiliser HRESULT à partir de l’exception sur les erreurs de validation de paramètre pour en savoir plus sur l’erreur qui a provoqué l’exception.

Pour plus d’informations sur les exceptions possibles et sur la gestion des exceptions, consultez Gestion des exceptions dans les applications réseau.

Utilisation de StreamWebSocket sur Windows Server 2012

Sur Windows Server 2012 et Windows Server 2012 R2, le Windows.Networking.dll qui implémente la plupart des classes dans le Windows. L’espace de noms Networking.Sockets ne peut pas être chargé, sauf si la fonctionnalité Media Foundation est activée. Par conséquent, les applications qui utilisent StreamWebSocket et les classes WebSocket associées dans le Windows. L’espace de noms Networking.Sockets échoue si la fonctionnalité Media Foundation est désactivée. Windows Server 2012 ou Windows Server 2012 R2 est installé avec la fonctionnalité Media Foundation désactivée.

La fonctionnalité Media Foundation peut être activée sur Windows Server 2012 ou Windows Server 2012 R2 à l’aide de Gestionnaire de serveur ou en entrant le texte suivant dans une invite de commandes ou un script :

dism /online /enable-feature /featurename:ServerMediaFoundation Une fois la fonctionnalité Media Foundation activée, l’utilisateur est invité à redémarrer. Une fois l’ordinateur redémarré, classes pour les sockets et webSockets dans le Windows. L’espace de noms Networking.Sockets fonctionne comme prévu.

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1607 14393 ServerCustomValidationRequested

Constructeurs

Nom Description
StreamWebSocket()

Crée un objet StreamWebSocket .

Propriétés

Nom Description
Control

Obtient les données de contrôle de socket sur un objet StreamWebSocket .

Information

Obtient des informations de socket sur un objet StreamWebSocket .

InputStream

Obtient le flux d’entrée à lire à partir de la destination distante sur un objet StreamWebSocket .

OutputStream

Obtient le flux de sortie à écrire dans la destination réseau distante sur un objet StreamWebSocket .

Méthodes

Nom Description
Close()

Ferme StreamWebSocket et envoie un cadre de fermeture vide au serveur.

Close(UInt16, String)

Ferme StreamWebSocket et indique une raison de la fermeture.

ConnectAsync(Uri)

Démarre une opération asynchrone pour se connecter à une destination réseau distante sur un objet StreamWebSocket .

Dispose()

Effectue des tâches définies par l’application associées à la libération, à la libération ou à la réinitialisation des ressources non managées.

SetRequestHeader(String, String)

Ajoute un en-tête de requête HTTP au message de requête HTTP utilisé dans l’établissement d’une liaison de protocole WebSocket par l’objet StreamWebSocket .

Événements

Nom Description
Closed

Se produit lorsqu’une trame de fermeture est reçue sur l’objet StreamWebSocket dans le cadre de la négociation de fermeture.

ServerCustomValidationRequested

Se produit lorsqu’une nouvelle connexion StreamWebSocket à un URI de serveur sécurisé (wss : protocole) est validée. Gérez cet événement si vous souhaitez implémenter la validation de serveur personnalisée pour la connexion.

S’applique à

Voir aussi