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
以前调用 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
成功输出时,指针指向包含应用程序要发送的请求标头的 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 |