2009-06-25 6 views
3

私は、Webベースのチャットクライアントはのようなネットワークフレームワークを使用する傾向があると聞いていますソケットベースのフレームワークなしでWebベースのチャットクライアントを構築することは可能ですか?

しかし、ネットワーキング・フレームワークなしにウェブベースのチャットクライアントを構築することが可能であろう - だけAJAX接続を使用していますか?

セッションを使用してチャットが終了したことを示すセッションベースの1対1のWebチャットクライアントを構築したいと考えています。これはajaxだけを使用し、ネットワークフレームワークなしでRailsで可能でしょうか?

ネットワーキングフレームワークを使用するにはどのような影響がありますか、アプリにはどのような影響がありますか?また、このプロジェクトに近づくための一般的な勧告は高く評価されます。

答えて

5

私はあなたを正しく理解していれば、クライアントはサーバーに接続し、サーバー経由でajaxを介してお互いにメッセージを送信する必要があります。 これは可能ですが、これを行うには2つの方法があります。

簡単なアプローチは、両方のクライアントに数秒ごとにポーリングして、他のユーザーがポストした新しいメッセージをチェックすることです。欠点は、メッセージが即座に配信されないことです。私はこれがrails bookにある例だと思います。

より複雑なアプローチは、開いている接続を維持し、メッセージをサーバーに受信するとすぐにクライアントに送信することです。これを行うには、次のようなものを使用できますJuggernaut

httpを意味するものではありません。これの実例は、巨大な派生物を使用するrails chat projectです。

3

技術的にはすべてのネットワークベースのアプリケーションは、ここでの唯一の本当の問題は、あなたがすべてのことおしゃべりがあなたのサーバーを経由したりできるようにしたいかどうか、その下ネットワーキング・フレームワークを持っていると、それゆえ、ソケットベースです...

話しますポイントツーポイント通信。前者の場合は、ajaxフレームワークを使用してWebサーバーと通信できます。これは、すべてのクライアントが常に更新のためにWebサーバーをポーリングすることを意味します。

後であれば、2つのクライアント間で直接TCP接続を許可する必要があり、話すために金属に少し近づける必要があります。

それでは、あなた自身に尋ねてください:交通費の支払いをしたいのですが、人々がクライアントに入力しているかもしれないものを漏らしてしまう可能性があります。または、あなたはむしろ人々がお互いに話すために使うことができるチャットプログラムを構築するだろうか?

もちろん、これまでに行く前に、別のチャットクライアントを作りたいと思っていますか?そのスペースはすでにかなり混雑しています。

関連する問題