Fonction WebSocketBeginClientHandshake (websocket.h)
La fonction WebSocketBeginClientHandshake commence la négociation côté client.
Syntaxe
HRESULT WebSocketBeginClientHandshake(
[in] WEB_SOCKET_HANDLE hWebSocket,
[in, optional] PCSTR *pszSubprotocols,
[in] ULONG ulSubprotocolCount,
[in, optional] PCSTR *pszExtensions,
[in] ULONG ulExtensionCount,
[in, optional] const PWEB_SOCKET_HTTP_HEADER pInitialHeaders,
[in] ULONG ulInitialHeaderCount,
[out] PWEB_SOCKET_HTTP_HEADER *pAdditionalHeaders,
[out] ULONG *pulAdditionalHeaderCount
);
Paramètres
[in] hWebSocket
Type : WEB_SOCKET_HANDLE
Handle de session WebSocket retourné par un appel précédent à WebSocketCreateClientHandle.
[in, optional] pszSubprotocols
Type : PCSTR*
Pointeur vers un tableau de sous-protocoles choisi par l’application. Une fois la négociation client-serveur terminée, l’application doit utiliser le sous-protocole retourné par WebSocketEndClientHandshake. Doit contenir un sous-protocole par entrée.
[in] ulSubprotocolCount
Type : ULONG
Nombre de sous-protocoles dans pszSubprotocols.
[in, optional] pszExtensions
Type : PCSTR*
Pointeur vers un tableau d’extensions choisi par l’application. Une fois la négociation client-serveur terminée, l’application doit utiliser l’extension retournée par WebSocketEndClientHandshake. Doit contenir une extension par entrée.
[in] ulExtensionCount
Type : ULONG
Nombre d’extensions dans pszExtensions.
[in, optional] pInitialHeaders
Type : const PWEB_SOCKET_HTTP_HEADER
Pointeur vers un tableau de structures WEB_SOCKET_HTTP_HEADER qui contiennent les en-têtes de requête à envoyer par l’application. Le tableau doit inclure l’en-tête HTTP hôte tel que défini dans RFC 2616.
[in] ulInitialHeaderCount
Type : ULONG
Nombre d’en-têtes de requête dans pInitialHeaders.
[out] pAdditionalHeaders
Type : PWEB_SOCKET_HTTP_HEADER
En cas de sortie réussie, pointeur vers un tableau de structures WEB_SOCKET_HTTP_HEADER qui contiennent les en-têtes de requête à envoyer par l’application. Si l’un de ces en-têtes a été spécifié dans pInitialHeaders, l’en-tête doit être remplacé.
[out] pulAdditionalHeaderCount
Type : ULONG*
En cas de sortie réussie, nombre d’en-têtes de réponse dans pAdditionalHeaders.
Valeur retournée
Type : HRESULT
Si la fonction réussit, elle retourne S_OK.
Si la fonction échoue, elle retourne un code d’erreur système défini dans WinError.h.
Remarques
Pour terminer la négociation côté client, les applications doivent appeler WebSocketEndClientHandshake. Une fois la négociation client-serveur terminée, l’application peut utiliser les fonctions de session.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | websocket.h |
Bibliothèque | Websocket.lib |
DLL | Websocket.dll |