WebSocketEndClientHandshake 函数完成客户端握手。
语法
HRESULT WebSocketEndClientHandshake(
[in] WEB_SOCKET_HANDLE hWebSocket,
[in] const PWEB_SOCKET_HTTP_HEADER pResponseHeaders,
[in] ULONG ulReponseHeaderCount,
[in, out, optional] ULONG *pulSelectedExtensions,
[in, out, optional] ULONG *pulSelectedExtensionCount,
[in, out, optional] ULONG *pulSelectedSubprotocol
);
参数
[in] hWebSocket
以前调用 WebSocketCreateClientHandle 返回的 WebSocket 会话句柄。
[in] pResponseHeaders
类型: const PWEB_SOCKET_HTTP_HEADER
指向包含应用程序接收的响应标头的 WEB_SOCKET_HTTP_HEADER 结构的数组的指针。
[in] ulReponseHeaderCount
类型: ULONG
pResponseHeaders 中的响应标头数。
[in, out, optional] pulSelectedExtensions
类型: ULONG*
输入时,指向应用程序分配的数组的指针。 成功输出时,指针指向表示服务器在客户端-服务器握手期间选择的扩展的数字数组。 这些数字是传递到 WebSocketBeginClientHandshake 中 pszExtensions 的扩展数组中的从零开始的索引。
[in, out, optional] pulSelectedExtensionCount
类型: ULONG*
输入时, pulSelectedExtensions 中分配的扩展数。 这必须至少等于在 WebSocketEndClientHandshake 中传递给 ulExtensionCount 的数字。 成功输出时, pulSelectedExtensions 中返回的扩展数。
[in, out, optional] pulSelectedSubprotocol
类型: ULONG*
成功输出时,指向表示服务器在客户端-服务器握手期间选择的子协议的数字的指针。 此数字是传递到 WebSocketBeginClientHandshake 中 pszSubprotocols 的子协议数组中的从零开始的索引。
返回值
类型: HRESULT
如果函数成功,则返回 S_OK。
如果函数失败,它将返回以下代码之一或在 WinError.h 中定义的 系统错误代码 。
| 返回代码 | 说明 |
|---|---|
|
协议数据的格式无效。 |
|
服务器不接受应用程序指定的任何子协议。 |
|
服务器不接受应用程序指定的扩展。 |
注解
在上一次调用 WebSocketBeginClientHandshake 后,必须调用此函数以完成客户端握手。 客户端-服务器握手完成后,应用程序可以使用会话函数。
要求
| 最低受支持的客户端 | Windows 8 [仅限桌面应用] |
| 最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
| 目标平台 | Windows |
| 标头 | websocket.h |
| Library | Websocket.lib |
| DLL | Websocket.dll |