共用方式為


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 中所定義的主機 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
程式庫 Websocket.lib
Dll Websocket.dll

另請參閱

WEB_SOCKET_HTTP_HEADER

WebSocketBeginServerHandshake

WebSocketEndClientHandshake

WebSocketEndServerHandshake