次の方法で共有


IIS 8.0 WebSocket プロトコル サポート

提供元: Microsoft

互換性

バージョン メモ
IIS 8.0 WebSocket プロトコルは IIS 8.0 で導入されました。
IIS 7.5 WebSocket プロトコルは IIS 7.5 ではサポートされていませんでした。
IIS 7.0 WebSocket プロトコルは IIS 7.0 ではサポートされていませんでした。

問題

HTTP の制限事項の 1 つは、一方向の通信方法として設計されたことです。 ただし、最新の Web ベースのアプリケーションの多くは、最適に機能するために、リアルタイムの双方向通信をもっと多く必要としています。

解決策

Windows Server 2012 および Windows 8 のリリースをもって、インターネット インフォメーション サービス (IIS) 8.0 により WebSocket プロトコルのサポートが追加されました。

WebSocket プロトコルは RFC 6455 に定義されているオープン標準であり、開発者はこの機能を利用し、クライアントとサーバー間でインターネット経由の双方向通信を実装するアプリケーションを作成できます。 WebSocket プロトコルの詳細については、次の記事を参照してください。

ステップ バイ ステップの手順

Windows Server 2012 で WebSocket プロトコルのサポートを有効にするには、次の手順に従います。

  1. サーバー マネージャーを開きます。
  2. [管理] メニューで [役割と機能の追加] をクリックします。
  3. [役割ベースまたは機能ベースのインストール]を選択し、[次へ] をクリックします。
  4. 適切なサーバーを選択し (既定では、ローカル サーバーが選択されます)、[次へ] をクリックします。
  5. [役割] ツリーで [Web サーバー (IIS)] を展開し、[Web サーバー][アプリケーション開発] の順に展開します。
  6. [WebSocket プロトコル] を選択し、[次へ] をクリックします。
  7. 追加の機能が不要な場合は、[次へ] をクリックします。
  8. [インストール] をクリックします。
  9. インストールが完了したら、[閉じる] をクリックしてウィザードを終了します。

問題

node.js で socket.io を使用する場合に WebSocket を無効にする

サイトで node.js の socket.io で WebSocket サポートを使用している場合、次のスニペットを web.config または applicationHost.config に追加し、既定の IIS WebSocket モジュールを無効にする必要があります。これが行われなければ、IIS WebSocket モジュールでは、このタスクを node.js (そしてアプリケーション) にフォールスルーするのではなく、WebSocket 通信の処理を試みます。 これにより、サイトにアクセスしようとすると予期しないエラーが発生します。

<system.webServer>
    ...
    <webSocket enabled="false"/>
</system.webServer>

まとめ

IIS 8.0 では、インターネット経由での動的な双方向通信を可能にする WebSocket プロトコルのサポートが追加されました。 追加情報については、次の URL をご覧ください。