2

私は、長時間実行されるプロセスであるJavaアプリケーションを持っています(それを「サーバー」と呼びましょう)。デスクトップ GUI (ほとんどの場合 Swing) を作成する必要があります。このアプリケーションに接続できる「クライアント」と呼びましょう。

  1. アプリケーションからのステータス更新の表示
  2. 特定の「手動でトリガーされた」コマンドをアプリケーションに与える

クライアントとサーバー間の各対話 (会話スレッド) は短くなりますが、上下にいくつかのメッセージが含まれる場合があります。このようなものを実装するためのさまざまなオプションは何ですか? 速度は私にとって大きな問題ではありません。私は、配管の詳細に行き詰まることなく、会話プロトコルを進化させることができる何かにもっと興味があります. 私が今考えているオプションは、ソケット、RMI、JMS、および JavaSpaces です。

4

5 に答える 5

1

Apache Camel (Java)を見てみましょう。言及したすべてのオプションをサポートし、メッセージをルーティングする際のルールも許可します.

スタンドアロンでインストールするか、Apache ActiveMQ (JMS ブローカー) に含まれています。

于 2009-05-11T22:08:28.810 に答える
0

私はこの種のことをXML-RPCで長年行っています。とてもシンプルで、15 分以内に実行できるので気に入っています。すべて http で単純な XML です。

于 2009-05-11T21:39:40.773 に答える
0

RESTful APIによってサーバーを拡張することがオプションである場合、それはおそらくクライアントにとって最も使いやすいものです。URL 用語で API を記述するだけで、必要に応じてクライアントを他の言語に簡単に切り替えることができます。

于 2009-05-11T21:45:21.390 に答える
0

この問題は、シリアル化コマンドに ObjectInputStream と ObjectOutputStream を使用するソケットで解決しました。

プロトコルには、さまざまなオブジェクト コマンドが必要です (ここではコマンド パターンが役立ちます)。これらのオブジェクトはすべてシリアライズ可能である必要があります。その後、コマンドを簡単に送受信できます。私見は最も簡単な方法です(技術面および実装において)。

于 2009-05-11T21:50:31.223 に答える