0

私はStackOverflowが初めてです。このトピックについて検索しましたが、実際に関連するものは見つかりませんでした。

基本的には、当社の Web 'サポート チャット' システムを開発する必要があります。そこには利用可能なソリューションがたくさんあることは知っていますが、Java でのカスタム ソリューションが必要です。Web サイトにアクセスしたユーザーがチャットを使用してサポートを求めることができるサポート チャット Web システムを構築する必要があります。反対側には、要求を処理する 'n' 人のエージェントがいます。ビジネス インテリジェンスの目的で、会話の各部分を Cassandra クラスターに保存する必要があります。Java (サーバー側) と JavaScript+JQuery (クライアント側) でソリューションを開発する必要があります。

編集: 多くの XMPP ベースのソリューション (多くはかなり古く、サポートされていません) を調べた後、おそらく必要な機能のみをカバーする XMPP のようなカスタム プロトコルを使用します。ソリューションを開発するには、WebSocket が最も適切なテクノロジと思われます。

問題は、どこから始めればよいかということです。Jetty で WebSocket を使用する方法については、Google で検索しましたが、何もありませんでした。リンクはありますか?リソースはありますか?

基本的に私の考えは次のとおりです。

  • Jetty Embedded に基づくチャットサーバー
  • サーバーと通信する必要がある Web アプリケーション (JQuery) の小さなフロント エンド。
  • 通信は、ポーリングを回避するために WebSocket に基づいています (実際の問題)
  • XML over WebSocket 用の XMPP スタイルのプロトコル。しかし、これは問題ではありません。

Jetty が組み込まれたカスタム サーバーと Web アプリケーションで WebSocket を使用する方法の問題。

追加 多くの人が指摘しているように、WebSocket は一般的な用途では十分にサポートされていません。代わりに AJAX がより自然なソリューションですが、これはポーリングの使用を意味します。ロングポーリングの問題を回避する方法の例をいくつか見つけましたが、次のことができるJQueryに基づく堅実な実装を見つけることができませんでした:

  1. 利用可能な場合は WebSocket を使用する

  2. それ以外の場合は、JQuery ベースのロング ポーリングを使用します

今、質問はより明確になったと思います。以前の「トークについて」スタイルの質問で申し訳ありません。

4

4 に答える 4

3

Atmosphere Framework (https://github.com/Atmosphere/atmosphere) を使用しました。ここでいくつかのチャット関連のサンプルを提供しています: https://github.com/Atmosphere/atmosphere/tree/master/samples

于 2012-10-05T10:52:33.370 に答える
2

サポート システムに Websocket を要求することはお勧めしません。これは、Internet Explorer をまだサポートしていない多くの人が使用しており、Windows 7 より前のバージョンの Windows ではサポートされない可能性が高いためです: http://caniuse.com /ウェブソケット

クライアント側で「Java + JQuery」を使用したいとおっしゃいました。Java と JavaScript を混同していませんか? これらの技術には、 Iced TeaLong Island Ice Tea と同じくらい多くの共通点があります。

本当に Java を使用したい場合は、WebSocket を使用する必要はありません。Java アプレットは通常の TCP または UDP ソケットを使用してサーバーと通信できるからです。

JavaScript の場合は、AJAX に基づくソリューションを作成することをお勧めします。これは、AJAX の方がはるかに広くサポートされており、チャット アプリケーションに WebSocket のリアルタイム パフォーマンスを必要としないためです。

于 2012-10-05T10:54:50.800 に答える
1

Openfire のFastpath プラグイン (Service および Webchat)を確認することをお勧めします。これは、ユースケースをサポートすることを目的とした XMPP ベースのソリューションです。オープンソースで Java ベースなので、目的に合わせて簡単に拡張できます。

Smackでは、Java クライアント ベースのソリューション (workgroup パッケージの下)もサポートされています。

于 2012-10-05T18:02:18.120 に答える
0

XML の使用が必須でない場合は、Bristleback Serverをお勧めします。Jetty を WebSocket プロトコル エンジンとして選択できます。現在、Bristleback は JSON をメッセージ形式として使用しているため、これが制限となる可能性があります。Bristleback を使用すると、メッセージの受信者を簡単に定義でき、低レベルの WebSockets プロトコル コンポーネントを使用せずにすべてを実行できます。クライアント側 (jQuery を使用) ライブラリも提供されます。私たちのウェブサイトでは、いくつかのサンプルとチュートリアルを見つけることができます (常に拡大しています)。

完全な開示: 私は Bristleback Server の共同作成者の 1 人です。

于 2012-10-05T12:50:20.483 に答える