StreamWebSocket Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- Attributs
- Implémente
Configuration requise pour Windows
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 à chaque opération de lecture, plutôt que d’exiger la lecture de l’intégralité du message en 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 résulter d’erreurs de validation de paramètres, d’échecs de résolution de noms et d’erreurs réseau. Des exceptions aux erreurs réseau (perte de connectivité, échecs de connexion et échecs de serveur HTTP, par exemple) peuvent se produire à tout moment. Ces erreurs donnent lieu à 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.
L’espace de noms Windows.Networking.Sockets dispose d’une méthode d’assistance et d’une énumération pratiques pour gérer les erreurs lors de l’utilisation de WebSockets. Ceci peut s’avérer utile pour gérer différemment certaines exceptions réseau dans votre application. Une application peut également utiliser le HRESULT de l’exception sur les erreurs de validation de paramètre pour obtenir des informations plus détaillées sur l’erreur à l’origine de l’exception.
Pour plus d’informations sur les exceptions possibles et sur la façon de gérer les 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 l’espace de noms Windows.Networking.Sockets ne parvient pas à se charger, sauf si la fonctionnalité Media Foundation est activée. Par conséquent, les applications qui utilisent StreamWebSocket et les classes WebSocket associées dans l’espace de noms Windows.Networking.Sockets échouent si la fonctionnalité Media Foundation est désactivée. Windows Server 2012 ou Windows Server 2012 R2 s’installe 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é, les classes pour les sockets et webSockets dans l’espace de noms Windows.Networking.Sockets fonctionnent comme prévu.
Historique des versions
Version de Windows | Version du SDK | Valeur ajoutée |
---|---|---|
1607 | 14393 | ServerCustomValidationRequesteded |
Constructeurs
StreamWebSocket() |
Crée un objet StreamWebSocket . |
Propriétés
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
Close() |
Ferme le StreamWebSocket et envoie un cadre proche vide au serveur. |
Close(UInt16, String) |
Ferme streamWebSocket et indique la 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() |
Exécute les tâches définies par l'application associées à la libération ou à la redéfinition 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 la négociation du protocole WebSocket par l’objet StreamWebSocket . |
Événements
Closed |
Se produit lorsqu’une image 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é (protocole wss : ) est validée. Gérez cet événement si vous souhaitez implémenter la validation de serveur personnalisée pour la connexion. |