2017-02-02 20 views
0

通信したい2つの小さなJavaアプリケーションがあります。通常のリクエストメッセージとJSONでの応答が必要です。2つのJavaプロセス間の高速通信

RMIおよびプロトコルバッファ:

は、私は2つの解決策を見つけました。

最も簡単な方法と実装が最も簡単な方法は何ですか?

+0

です。論理的遵守(すなわち、自律的理解メッセージ)と他の図書館への依存度との間の妥協点がある。最も基本的なのはソケット接続です。 –

+1

その特定の要件については、私は(JSON outのプレーンテキスト)、私の最初の考えはカスタムプロトコルを使ったローカル(TCP)ソケットでしょう。 – Fildor

+0

見つけた2つの候補外の提案(RMI、ProtoBuf)を開いていますか? – Fildor

答えて

4

RMIまたはProtocolBufferのどちらも要件を満たしていません。 RMIは、Java Object Serialization Encodinを使用してデータを送受信します。 ProtoBuffersは独自のコード体系も使用します。 JSONと互換性もありません。

最も簡単な方法と実装が最も簡単な方法は何ですか? は、それは議論の余地があるものの

  • RMIは簡単です...上記の問題を無視suitablestated要件

です。 (2つの技術についてどれだけ知っているかによって異なります)

  • ProtoBuffersがより効率的になります。


  • 言っJSONは、私はJSON形式を持っていwhichsコンテンツの文字列を意味します。

    あなたは送信側と受信側のJSON文字列をとマーシャル/アンマーシャルはすでに、その後、最速かつ最も簡単な方法は、プレーンSocketsを使用することで、世話をされている場合。このシナリオでは、RMIまたはProtoBuffersのいずれも、実際の価値を提供しません。

    もう1つの方法はHTTPまたはHTTPSです。これらは、ファイアウォールを介して許可される可能性が高くなります。 HTTPsは、適切に実装された方が安全です。しかし、そのセキュリティはパフォーマンスを犠牲にしています。

    ファイアウォールが問題にならない場合は、メッセージサイズ、信頼性要件、ワンショットまたはリピートメッセージ交換の必要性などに応じて、TCPまたはUDPを使用した単純なソケットレベルの通信が適しています。

    +0

    JSONとは、JSON形式のコンテンツです。これらの2つのオプションは文字列データに対応できますか? – xetra11

    +0

    OPのためにこれら2つ以外のテクノロジーをお勧めしますか?彼が本当にこの2つだけを考えたがっているかどうかはわかりません。 – Fildor

    関連する問題