2012-03-12 10 views
0

これは本当に好奇心を持っています。get()とpost()をクライアント側に構築したGWTサーバ

私は、外部の通知を通じて通知を受けるプロジェクトに取り組んでいます。これで私のサーバーに通知が来るようになり、クライアントとサーバーの間に彗星の設定ができました。

しかし

私は私のクライアントにサーバーのロジックを記述し、外部ソースからの通知のために聞くことができれば、私は思っていました。すぐに私が見る1つの問題は、外部ソースがコールバックURLなどを必要とすることです。クライアント側からすれば分かりません(そういう形でIPアドレスを使用できない限り)。

このようなことがあればもっと多くのアイデアや議論ができますが、これはP2Pモデルに触発され、中央サーバーを通じて仲介しないことに多少なりとも影響します。

ありがとうございます!

答えて

2

GWTは(ほぼ)JavaソースをJavaScriptにコンパイルするので、コンパイルされたGWTアプリケーションは、ブラウザで実行される従来のJavaScriptが行うことができないことは何もできません。 Javaを画像に組み込むことの大きな利点は、任意の/すべてのJVMクラスへの自動アクセスではなく、リファクタリングやテストが容易で、サーバとの一貫性を保つ傾向があるJavaソースを維持できるだけでなく、その静的に定義されたコードをJavaScriptにコンパイルし、コンパイル時にすべての種類の最適化を実行します。通常のJavaScriptでは不可能です。

クライアント(ブラウザで)とサーバー(JVMで実行)で共有できるコードはありますが、GWTを使用するだけでTomcat/Jetty/etcをブラウザで実行することはできませんJavaコードをJSにコンパイルします。

これが可能であったとしても、ブラウザーが互いに見て自由に接続できることを要求することなく、異なるクライアントを前後に話すことは困難です。 BitTorrentとSkypeは、これを容易にするためのさまざまな方法を持っています。現在のところ、ブラウザはこれを許可していません。他のサーバーに接続するように設計されています。

Webサーバからブラウザへのプッシュ通知は、おそらくラップコメットなどを介して、またはAtmosphere(デモの場合はhttps://github.com/Atmosphere/atmosphere/tree/master/samples/gwt-demoを参照)などの既存のGWTライブラリを介して、最も良い方法です。

+0

ありがとう@Colin、私は優雅なWebSocketを使用する彗星アーキテクチャを使用することに決めました。したがって、古いブラウザを使用している場合は低下する可能性があります。 – OriginalCliche

関連する問題