WinHttpWebSocketClose 函数 (winhttp.h)

WinHttpWebSocketClose 函数关闭 WebSocket 连接。

语法

WINHTTPAPI DWORD WinHttpWebSocketClose(
  [in]           HINTERNET hWebSocket,
  [in]           USHORT    usStatus,
  [in, optional] PVOID     pvReason,
  [in]           DWORD     dwReasonLength
);

参数

[in] hWebSocket

类型: HINTERNET

WebSocket 的句柄。

注意WinHttpWebSocketClose 不会关闭此句柄。 若要关闭句柄,请在不再需要时在 hWebSocket 上调用 WinHttpCloseHandle

 

[in] usStatus

类型: USHORT

关闭状态代码。 有关可能的值 ,请参阅WINHTTP_WEB_SOCKET_CLOSE_STATUS

[in, optional] pvReason

类型: PVOID

收盘的详细原因。

[in] dwReasonLength

类型:DWORD

pvReason 的长度(以字节为单位)。

如果 pvReason 为 NULL,则必须为 0。 此值必须在 0 到 123 的范围内。

返回值

类型:DWORD

对于以下异常,所有错误代码都指示基础 TCP 连接已中止。

说明
ERROR_INVALID_OPERATION
关闭或发送处于挂起状态。
ERROR_INVALID_PARAMETER
参数无效。
ERROR_INVALID_SERVER_RESPONSE
从服务器接收了无效数据。

注解

WinHttpWebSocketClose 完全关闭 WebSocket 连接。 若要关闭发送通道,同时使接收通道保持打开状态,请使用 WinHttpWebSocketShutdown

在常规接收操作期间,可以接收关闭的帧。 在这种情况下, WinHttpWebSocketClose 也会发送一个关闭的帧。

关闭计时器可由 属性 WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT设置。 默认为 10 秒。

要求

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

另请参阅

WINHTTP_WEB_SOCKET_CLOSE_STATUS

WinHttpCloseHandle

WinHttpWebSocketShutdown