3

RMI はバイナリ ネットワーキング プロトコルの (速度の点での) キングですか? それとも、より高速なベンチマーク速度を持つ他のプロトコルはありますか?

Netty のようなものを使用して、より高速な独自のバイナリ (TCP) プロトコルを構築することは可能ですか? 私はネットワーキングが初めてで、利用可能なさまざまなライブラリとフレームワークに頭を悩ませようとしています。よろしくお願いします!

4

3 に答える 3

1

RMI はメタデータを処理する必要があり、リフレクションを使用します。TCP および DataOutputStream / DataInputStream に基づくカスタム プロトコルを実装すると、RMI よりも高速になる可能性があります。

RMI サービスがあるとします。

 Service srv = (Service) Naming.lookup(lookupString);
 srv.sayHi("Jack");
 srv.sayBye("Back");

TCP 接続を介してコマンドとパラメーターを直接送信することもできます。

 ObjectOutputStream out = ...
 out.write(0);  // 0 - Hi command 
 out.writeUTF("Jack");
 out.write(1);  // 1 - Bye command
 out.writeUTF("Jack");
于 2013-03-30T15:34:42.683 に答える
1

プロトコル バッファは、Java オブジェクトをシリアル化する最もコンパクトな方法の 1 つです。

必要に応じて、それを独自のトランスポート プロトコル (raw tcp ソケット、udp、http..) と組み合わせることができます。

于 2013-03-30T15:40:49.530 に答える