WebSocketBeginServerHandshake 函数 (websocket.h)

WebSocketBeginServerHandshake 函数开始服务器端握手。

语法

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

参数

[in] hWebSocket

类型: WEB_SOCKET_HANDLE

先前调用 WebSocketCreateServerHandle 返回的 WebSocket 会话句柄。

[in, optional] pszSubprotocolSelected

类型: PCSTR

指向应用程序选择的子协议值的指针。 必须包含一个子协议。

[in, optional] pszExtensionSelected

类型: PCSTR*

指向应用程序选择的扩展列表的指针。 每个条目必须包含一个扩展。

[in] ulExtensionSelectedCount

类型: ULONG

pszExtensionSelected 中的扩展数。

[in] pRequestHeaders

类型: const PWEB_SOCKET_HTTP_HEADER

指向包含应用程序接收的请求标头的 WEB_SOCKET_HTTP_HEADER 结构的数组的指针。

[in] ulRequestHeaderCount

类型: ULONG

pRequestHeaders 中的请求标头数。

[out] pResponseHeaders

类型: PWEB_SOCKET_HTTP_HEADER*

成功输出时,指向包含应用程序要发送的响应标头的数组或 WEB_SOCKET_HTTP_HEADER 结构的指针。

[out] pulResponseHeaderCount

类型: ULONG*

成功输出时, pResponseHeaders 中的响应标头数。

返回值

类型: HRESULT

如果函数成功,则返回 S_OK

如果函数失败,它将返回以下代码之一或 WinError.h 中定义的 系统错误代码 之一。

返回代码 说明
E_INVALID_PROTOCOL_FORMAT
协议数据的格式无效。

注解

若要完成服务器端握手,应用程序必须调用 WebSocketEndServerHandshake 或任何会话函数。 客户端-服务器握手完成后,应用程序可以使用会话函数。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 websocket.h
Library Websocket.lib
DLL Websocket.dll

另请参阅

WEB_SOCKET_HTTP_HEADER

WebSocketBeginClientHandshake

WebSocketEndClientHandshake

WebSocketEndServerHandshake