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

以前调用 WebSocketCreateClientHandle 返回的 WebSocket 会话句柄。

[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 结构的数组的指针。 数组必须包含 RFC 2616 中定义的 Host HTTP 标头。

[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
标头 websocket.h
Library Websocket.lib
DLL Websocket.dll

另请参阅

WEB_SOCKET_HTTP_HEADER

WebSocketBeginServerHandshake

WebSocketEndClientHandshake

WebSocketEndServerHandshake