サーバーがJava Webサービスになるチャットアプリケーションを実装する必要がある学校のプロジェクトがあります。
問題は、私は常に Web サービスをリモート関数を呼び出す方法と考えてきたことです。Web サービスで「セッション」をアクティブに保つ方法も、現在参加しているすべての人を追跡する方法もわかりません。チャット、ルームなど
サーバーがJava Webサービスになるチャットアプリケーションを実装する必要がある学校のプロジェクトがあります。
問題は、私は常に Web サービスをリモート関数を呼び出す方法と考えてきたことです。Web サービスで「セッション」をアクティブに保つ方法も、現在参加しているすべての人を追跡する方法もわかりません。チャット、ルームなど
私の知る限り、チャット サーバーは最初の接続後にクライアントを認識し、すべてのクライアント メッセージをすべてのクライアントに送信することになっています。これには、ある種のセッション メンテナンスが必要です。これを行う正しい方法は次のとおりだと思います。
Web サービスは基本的にプッシュ サービスではなくプル サービスであるため、メッセージ配信がどのように機能するかはよくわかりません。おそらく、クライアントは、サーバーが呼び出す独自の Web サービスを公開する必要があります。
お役に立てれば、
ユヴァル=8-)
COMETソリューションの実装を検討できます。これにより、効果的にプッシュ通信が可能になり、チャットアプリケーションにとって非常に優れた機能である遅延がなくなります。
ゴールドを狙う場合は、より高度な機能の実装を検討してください。
私は Java を知らないので、この回答は言語に依存しません。
私の意見では、サーバーでプロセスを実行せずにこれを行う最も簡単な方法は、すべてのデータをデータベースに保存することです。
実行する必要がある基本的なことの短いリストを次に示します。
それでも助けが必要な場合は、AJAX/ASP.Net チャット アプリ (ソースは見ていません) がほぼ同じように機能するはずです。
バックグラウンドでサービスを実行し、すべてをデータベースに格納するチャット エンジン、入力フォーム フレーム、および HTML ストリームを受信する出力フレームを作成しました。
サービス部分をスキップして Web サービス経由でのみ実装する場合は、少なくとも 2 つの操作を実装する必要があります。入力用の Post と、Javascript マジックを使用して HTML に変換されるチャットの出力を受け取る GetLatestChanges です。
もちろん、Unknwntech がスケッチしたように、部屋、ユーザー、メッセージ、どのユーザーがどのテキストを受け取るかなどを追跡する必要があります。