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 によって返されるサブプロトコルを使用する必要があります。 エントリごとに 1 つのサブプロトコルを含む必要があります。
[in] ulSubprotocolCount
種類: ULONG
pszSubprotocols 内のサブプロトコルの数。
[in, optional] pszExtensions
種類: PCSTR*
アプリケーションによって選択された拡張機能の配列へのポインター。 クライアントとサーバーのハンドシェイクが完了したら、 アプリケーションで WebSocketEndClientHandshake によって返される拡張機能を使用する必要があります。 エントリごとに 1 つの拡張子を含む必要があります。
[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 |