1

私は現在、かなり大きなバイト配列 (<50MB) を RMI 経由で転送するのが良い考えかどうかを調べようとしています。

速度が遅く、クライアントとサーバーの両方でデータをメモリに保持する必要があることを読みました。これは、複数の呼び出しがある場合に問題になる可能性があります。

これに代わる(単純な)ものはありますか?

4

4 に答える 4

3

RMIIO を使用すると、オブジェクトをチャンク方式でストリーミングできます。

EDIT : KRYOを使用して、オブジェクトをシリアル化および圧縮し、ネットワーク経由で送信することもできます。

于 2012-08-20T09:25:00.853 に答える
1

大量のデータを送受信するための圧縮をサポートするJavaストリームを検討してください。

たとえば、データを送信するためのGZipOutputStreamと、送信されたデータブロックを受信するためのGZipInputStream 。

于 2012-08-20T09:19:40.640 に答える
1

RMI は、オブジェクトを転送することを目的としています。サーバーにバイト配列オブジェクトがあり、クライアントにそれが必要な場合は、正常に配信されるまで両方の場所に配置する必要があります (その後、元のオブジェクトを削除できます)。

より合理的なアプローチは、一度に小さなチャンクのみを転送するリモート オブジェクトを生成する呼び出しを繰り返すことです。これにより、複数のトリップが必要になり、速度が低下します。

解決したい実際の (技術的ではない) 問題は何ですか?

于 2012-08-20T09:25:24.120 に答える