Compartilhar via


Função WebSocketBeginServerHandshake (websocket.h)

A função WebSocketBeginServerHandshake inicia o handshake do lado do servidor.

Sintaxe

HRESULT WebSocketBeginServerHandshake(
  [in]           WEB_SOCKET_HANDLE             hWebSocket,
  [in, optional] PCSTR                         pszSubprotocolSelected,
  [in, optional] PCSTR                         *pszExtensionSelected,
  [in]           ULONG                         ulExtensionSelectedCount,
  [in]           const PWEB_SOCKET_HTTP_HEADER pRequestHeaders,
  [in]           ULONG                         ulRequestHeaderCount,
  [out]          PWEB_SOCKET_HTTP_HEADER       *pResponseHeaders,
  [out]          ULONG                         *pulResponseHeaderCount
);

Parâmetros

[in] hWebSocket

Tipo: WEB_SOCKET_HANDLE

Identificador de sessão WebSocket retornado por uma chamada anterior para WebSocketCreateServerHandle.

[in, optional] pszSubprotocolSelected

Tipo: PCSTR

Um ponteiro para um valor de subconjunto escolhido pelo aplicativo. Deve conter um subprotocol.

[in, optional] pszExtensionSelected

Tipo: PCSTR*

Um ponteiro para uma lista de extensões escolhidas pelo aplicativo. Deve conter uma extensão por entrada.

[in] ulExtensionSelectedCount

Tipo: ULONG

Número de extensões em pszExtensionSelected.

[in] pRequestHeaders

Tipo: const PWEB_SOCKET_HTTP_HEADER

Ponteiro para uma matriz de estruturas de WEB_SOCKET_HTTP_HEADER que contêm os cabeçalhos de solicitação recebidos pelo aplicativo.

[in] ulRequestHeaderCount

Tipo: ULONG

Número de cabeçalhos de solicitação em pRequestHeaders.

[out] pResponseHeaders

Tipo: PWEB_SOCKET_HTTP_HEADER*

Na saída bem-sucedida, um ponteiro para uma matriz ou estruturas de WEB_SOCKET_HTTP_HEADER que contêm os cabeçalhos de resposta a serem enviados pelo aplicativo.

[out] pulResponseHeaderCount

Tipo: ULONG*

Na saída bem-sucedida, número de cabeçalhos de resposta em pResponseHeaders.

Retornar valor

Tipo: HRESULT

Se a função for bem-sucedida, ela retornará S_OK.

Se a função falhar, ela retornará um dos seguintes ou um código de erro do sistema definido em WinError.h.

Código de retorno Descrição
E_INVALID_PROTOCOL_FORMAT
Os dados do protocolo tinham um formato inválido.

Comentários

Para concluir o handshake do lado do servidor, os aplicativos devem chamar WebSocketEndServerHandshake ou qualquer uma das funções de sessão. Depois que o handshake cliente-servidor for concluído, o aplicativo poderá usar as funções de sessão.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho websocket.h
Biblioteca Websocket.lib
DLL Websocket.dll

Confira também

WEB_SOCKET_HTTP_HEADER

WebSocketBeginClientHandshake

WebSocketEndClientHandshake

WebSocketEndServerHandshake