web-dev-qa-db-ja.com

HTML5のWebSocketを使用するにはサーバーが必要ですか?

WebSocketを使用する場合、サーバーコードを記述する必要がありますか?言い換えると、クライアントアプリケーションのJavaScriptは専用サーバーに接続する必要がありますか、それとも既存のApacheサーバーはこれをサポートするために機能しますか?

78
cometta

サーバーはWebソケットをサポートする必要があります。 HTTPでの最初のハンドシェイクの後、サーバーとクライアントはソケット接続を開きます。サーバーは、このハンドシェイクを理解して受け入れる必要があります。

私の最後のプロジェクトでは、最新のJettyバージョンを使用してWebソケット接続を非常にうまく実行しました。

27/02/2014:また、XSockets.netで.netの下にwebsocketsを実装し、魅力のように動作します。Webサーバー(セルフホスティング)も必要ありません。 ASP.NETのWebSocket実装も非常に良好に機能します。

20
Rafa

はい、サーバーコードを記述する必要があります。

PHPに基づく別のWebソケットサーバーをお勧めします: ratchet 。そして、この link は、ラチェットとsockJS間のwebSocketサーバーのベンチマークです。

クライアントとサーバー側のコードとブラウザのサポートの完全なリストは、これを確認してください link

7
ShahRokh

現在、ApacheのGoogleコードで開発されているプラ​​グインがいくつかあります...

定義上、通常のソケットのようなWebソケットはクライアントサーバーなので、はい、サーバーが必要です。ただし、Apacheプラグインを待機する代替手段があります。

ホストされたサーバーを使用しています http://www.achex.ca 。無料で、サーバーの使用方法に関するjavascriptのチュートリアルがあります。 Websocket開発の良いスタート。

サーバーは基本的にメッセージルーターであり、接続してすべてのWebsocketクライアントのミーティングポイントとして使用できます。

短い答えはい、特殊なサーバーが必要ですが、Apacheは必要ありませんウェブソケットが付属しています。
または
代替案、チェックアウト www.achex.ca

5
AlexC_JEng

もちろん、WebSocketサーバーが必要です。ただし、.NETのJavaおよび SuperWebSocket のjWebSocketのように、さまざまな言語の無料のWebSocketサーバーが多数あり、それらを直接使用できます。

5
Kerry Jiang

このような状況では、サーバーの役割は次の場合に発生します。

HTML 5では、WebSocketは双方向通信ではなくfone(双方向通信)のようです。 httpプロトコルがwebsocketプロトコルにアップグレードされました。(wss:// from ws://)SERVERは、二重チャネルを開くことができるため、二重通信に同意する必要があります。

このリンクをご覧ください: http://www.html5rocks.com/en/tutorials/websockets/basics/

Phpを使用する場合は、RATCHETをご覧ください。

ありがとう。

2
Sid

Perl MojoliciousサーバーはWebソケットをサポートしており、実装の長さはわずか数行です。

Node.jsにはいくつかのWebSocketライブラリがありますが、最新の仕様をサポートする最新の最高の詳細はさまざまなので、慎重に選択してください。

Apache Active MQは、実装するstompプロトコルとともに一見の価値があります。

1
LeeGee