3

私はvaadinの初心者です。いくつか質問があります:

  1. Vaadin 7以降のバージョンはWebSocketをサポートしていますか?

  2. Vaadinには、サーバーからクライアント(WebSocketなど)にデータをプッシュするなどの他の機能がありますか?

4

3 に答える 3

4

VaadinはAtmosphereをサポートしているので、GoogleでWebSocketを有効にするプラグインを入手してください。

于 2013-03-25T12:15:34.757 に答える
2

サーバープッシュは、数週間後にVaadin7.1に搭載される主な機能です。現在のステータスと関連するブログ投稿については、ロードマップを参照してください。

Vaadin 7.1より前のサーバープッシュ用に最もダウンロードされたアドオンはICEPushですが、アドオンディレクトリで他の代替手段も見つけることができます。

于 2013-03-25T19:14:45.090 に答える
2

更新-プッシュが組み込まれています

jfarcandAtmosphereの作成者)とLuddによる他の回答は両方とも正しかったが、現在は時代遅れになっている。

Vaadin 7.3.7(2015-01現在)にAtmosphereライブラリが組み込まれるようになりました。Atmosphereは、 Pushの組み込みサポートを提供します。jar、ライブラリ、プラグイン、アドオンを追加する必要はありません。Vaadin Pushは、最初にWebSocketテクノロジーの使用を試みます。利用できない場合、VaadinPushは他のアプローチにフォールバックします。

3つの簡単なステップ:

  1. @PushUIサブクラスに注釈を追加します
  2. を使用しScheduledExecutorServiceて、アプリのデータをバックグラウンドで更新します。ServletContextListenerVaadin Webアプリが起動およびシャットダウンするときに、と呼ばれるでエグゼキュータサービスを開始および停止するのがおそらく最善です。
  3. 新鮮なデータの準備ができると、バックグラウンドスレッドはUI :: accessメソッドを呼び出して、UIスレッド(リクエスト処理スレッド)のユーザーインターフェイスコンポーネント(ウィジェット)へのアクセスをスケジュールし、変更を加えます。

手順2の代わりに、あるユーザーのメインユーザーインターフェイススレッドで別のユーザーの表示を更新したい場合があります。基本的に同じ考えで、BookOfVaadinで取り上げられています。

ヴァーディンの本

サーバープッシュの詳細については、The BookOfVaadinのセクション11.16を参照してください。

最小限の例

2015-01に、Vaadin 7でのプッシュの最小限の例についてこの回答MyUIを投稿しました。単一のファイルのコンテンツをコピーして、新しいデフォルトのVaadinプロジェクトのクラスのコンテンツを置き換えることができます。

于 2015-01-08T05:26:21.480 に答える