次の方法で共有


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

アプリケーションによって選択されたサブプロトコル値へのポインター。 サブプロトコルを 1 つ含む必要があります。

[in, optional] pszExtensionSelected

種類: PCSTR*

アプリケーションによって選択された拡張機能の一覧へのポインター。 エントリごとに 1 つの拡張子を含む必要があります。

[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