0


0

私は* Ruby on Rails *を実行しているWebサイト上でエミュレートされた*クライアント/サーバー*システムを設計する必要があります。

ページはWebブラウザによって要求され、開かれるとサーバーは*メッセージ*をプッシュすることができます。

私はこれが「自然に」不可能であることを知っています、しかし私はそのページの上で走っていて、ホスティングサーバによって送られるメッセージのためにポートで聞いている一種の「ジャバアプレット」を考えていました。 これは、サーバーがメッセージを送信するために接続できるポートで待機する一種のソケットを開くことによって行われるべきです。

これはできますか? 私は、Javaサーバーのスレッドを開発する必要がありますか、それともそのIPアドレスとポートを介してクライアントアプレットをアドレス指定し、サーバーからの任意のWebサービス接続を使用することができますか?

ありがとう、ルカ

5 Answer


2


彗星は間違いなくあなたが望むものです。 あなたのニーズに応じて、あなたはあなた自身のコメットサーバをホストするか、あるいは WebSync On-DemandのようなSaaSソリューションを使用することができます(免責事項:私はそこに働きます)。 SaaSのものを使うと、あなたは実際にあなた自身の彗星サーバを動かす必要なしにサーバプッシュ機能を手に入れることができます。


1


最も簡単な方法は、JavaScriptを使用してプッシュメカニズムをエミュレートすることです。 ほとんどの場合、AJAXを使用して定期的にポーリングするだけで十分です。 Cometもご覧ください。


0


Javaアプレットを使用する代わりに、JavaScriptと Cometとして知られているアプローチを組み合わせて使用​​することもできます。 一言で言えば、CometはHTTPを介したサーバープッシュを可能にする方法です。 私は実際にはRuby on Railsの人ではありませんが、レールとCometのRubyをすばやくGoogleで検索すると、かなりの量の有用な情報が得られます。


0


http://juggernaut.rubyforge.org/[juggernaut]を見ましたか。


0


あなたがアプレットのルートに行きたければ、あなたはアプレットからWebページが提供されているのと同じサーバーに接続する必要があります。 アプレットが聞こえません。 TCP接続が確立されると、それは双方向チャネルです。プロトコルで許可されている限り、プルまたはプッシュできます。 これが、ほとんどのアプレットベースのチャットクライアントで行われている方法です。

JavaScriptでロングポーリングを使用する人が増えています。 信頼できるロングポーリングシステムを稼働させることはかなり複雑です。フレームワークを使用することをお勧めします。 例えば、