Condividi tramite


Funzione WebSocketBeginClientHandshake (websocket.h)

La funzione WebSocketBeginClientHandshake inizia la handshake sul lato client.

Sintassi

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
);

Parametri

[in] hWebSocket

Tipo: WEB_SOCKET_HANDLE

Handle di sessione WebSocket restituito da una chiamata precedente a WebSocketCreateClientHandle.

[in, optional] pszSubprotocols

Tipo: PCSTR*

Puntatore a una matrice di protocolli secondari scelti dall'applicazione. Al termine dell'handshake client-server, l'applicazione deve usare il protocollo secondario restituito da WebSocketEndClientHandshake. Deve contenere un sottoprotocol per voce.

[in] ulSubprotocolCount

Tipo: ULONG

Numero di protocolli secondari in pszSubprotocols.

[in, optional] pszExtensions

Tipo: PCSTR*

Puntatore a una matrice di estensioni scelta dall'applicazione. Al termine dell'handshake client-server, l'applicazione deve usare l'estensione restituita da WebSocketEndClientHandshake. Deve contenere un'estensione per voce.

[in] ulExtensionCount

Tipo: ULONG

Numero di estensioni in pszExtensions.

[in, optional] pInitialHeaders

Tipo: const PWEB_SOCKET_HTTP_HEADER

Puntatore a una matrice di strutture WEB_SOCKET_HTTP_HEADER che contengono le intestazioni della richiesta da inviare dall'applicazione. La matrice deve includere l'intestazione HTTP host come definito in RFC 2616.

[in] ulInitialHeaderCount

Tipo: ULONG

Numero di intestazioni di richiesta in pInitialHeaders.

[out] pAdditionalHeaders

Tipo: PWEB_SOCKET_HTTP_HEADER

In caso di esito positivo, puntatore a una matrice di strutture WEB_SOCKET_HTTP_HEADER che contengono le intestazioni della richiesta da inviare dall'applicazione. Se una di queste intestazioni è stata specificata in pInitialHeaders, l'intestazione deve essere sostituita.

[out] pulAdditionalHeaderCount

Tipo: ULONG*

In caso di output riuscito, numero di intestazioni di risposta in pAdditionalHeaders.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, restituisce S_OK.

Se la funzione ha esito negativo, restituisce un codice di errore di sistema definito in WinError.h.

Commenti

Per completare l'handshake sul lato client, le applicazioni devono chiamare WebSocketEndClientHandshake. Al termine dell'handshake client-server, l'applicazione può usare le funzioni di sessione.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione websocket.h
Libreria Websocket.lib
DLL Websocket.dll

Vedi anche

WEB_SOCKET_HTTP_HEADER

WebSocketBeginServerHandshake

WebSocketEndClientHandshake

WebSocketEndServerHandshake