Поделиться через


Функция WebSocketBeginClientHandshake (websocket.h)

Функция WebSocketBeginClientHandshake начинает подтверждение на стороне клиента.

Синтаксис

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

Параметры

[in] hWebSocket

Тип: WEB_SOCKET_HANDLE

Дескриптор сеанса WebSocket, возвращенный предыдущим вызовом WebSocketCreateClientHandle.

[in, optional] pszSubprotocols

Тип: PCSTR*

Указатель на массив вложенных протоколов, выбранных приложением. После завершения подтверждения между клиентом и сервером приложение должно использовать вложенный протокол, возвращенный WebSocketEndClientHandshake. Должен содержать один подпротокол для каждой записи.

[in] ulSubprotocolCount

Тип: ULONG

Количество подпротоколов в pszSubprotocols.

[in, optional] pszExtensions

Тип: PCSTR*

Указатель на массив расширений, выбранных приложением. После завершения подтверждения между клиентом и сервером приложение должно использовать расширение, возвращаемое WebSocketEndClientHandshake. Должен содержать одно расширение для каждой записи.

[in] ulExtensionCount

Тип: ULONG

Число расширений в pszExtensions.

[in, optional] pInitialHeaders

Тип: const PWEB_SOCKET_HTTP_HEADER

Указатель на массив WEB_SOCKET_HTTP_HEADER структур, содержащих заголовки запросов, отправляемые приложением. Массив должен содержать http-заголовок узла , как определено в RFC 2616.

[in] ulInitialHeaderCount

Тип: ULONG

Количество заголовков запросов в pInitialHeaders.

[out] pAdditionalHeaders

Тип: PWEB_SOCKET_HTTP_HEADER

При успешном выводе указатель на массив WEB_SOCKET_HTTP_HEADER структур, содержащих заголовки запросов, отправляемые приложением. Если какой-либо из этих заголовков был указан в pInitialHeaders, заголовок необходимо заменить.

[out] pulAdditionalHeaderCount

Тип: ULONG*

При успешном выводе — количество заголовков ответов в pAdditionalHeaders.

Возвращаемое значение

Тип: HRESULT

Если функция завершается успешно, она возвращает S_OK.

Если функция завершается сбоем, она возвращает код системной ошибки , определенный в WinError.h.

Комментарии

Чтобы завершить подтверждение на стороне клиента, приложения должны вызывать WebSocketEndClientHandshake. После завершения подтверждения между клиентом и сервером приложение может использовать функции сеанса.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header websocket.h
Библиотека Websocket.lib
DLL Websocket.dll

См. также раздел

WEB_SOCKET_HTTP_HEADER

WebSocketBeginServerHandshake

WebSocketEndClientHandshake

WebSocketEndServerHandshake