2017-06-28 10 views
0

私はこのすべてに対して非常に新しいですが、私の理解から、ウェブソケットはブラウザ間で双方向の情報転送を可能にします。 Vert.xは、非同期I/Oを可能にするライブラリです。また、sockJSは、通信用にWebソケットを使用しようとするJavaScriptライブラリで、それ以外の場合はフォールバックオプションを提供します。vert.x、sockJS、およびwebsocketの関係は何ですか?

しかし、もし私がJavaでvert.xを使って何かを書いているのであれば、どのようにピースがどのようにフィットするかはよくわかりません。 vert.xは実際にウェブソケットをサポートしていますか?あるいは、それを実現するためにvert.xとsockJSの組み合わせが必要ですか?

+0

文書を読んでいますか? WebSocketとSockSの作業に関する情報があります:http://vertx.io/docs/vertx-core/java/とhttp://vertx.io/docs/vertx-web/java/ – berserkk

答えて

1

HTTP(s)はステートレスプロトコルです。つまり、ジョブが完了すると、次のジョブが実行されるまでアイドル状態になります。

チャットアプリケーションの例を考えてみましょう。AはHTTPプロトコルを使用してBとチャットしているとします。 Bがサーバーにあるメッセージを送信しましたが、Aがブラウザをリフレッシュするまで、Bのメッセージは表示されません。それはステートレスな動作です。

ソケットには、ステートレスではありません。ソケットは常にサーバーに接続されたwsプロトコルを使用します。同じ例を考えてみると、Bがメッセージを送信すると、Aのソケットがリフレッシュする必要なく、ブラウザにフェッチして表示されます。それがソケットの仕組みです。

ウェブページを提供するには、httpサーバーが必要です。使用ソケットと同様に、ソケットサーバーも必要です。 Vert.xによって提供されています。 Vert.xがソケットサーバーを起動すると、ブラウザはclientside sock.jsファイルを使用してそのサーバーをリッスンします。

関連する問題