Partager via


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

Voir aussi

WEB_SOCKET_HTTP_HEADER

WebSocketBeginServerHandshake

WebSocketEndClientHandshake

WebSocketEndServerHandshake