ネットワーク経由で Java インスタンスから別のインスタンスにメッセージ (シリアライズ可能なオブジェクト) を送信したいと考えています。オブジェクト全体が正しく送信されたことを確認したいと思います。
私の最初のステップは、オブジェクトのチェックサムを計算することだと思います。次に、そのチェックサムをオブジェクトに含めるか、メッセージとそのチェックサムのコンテナー オブジェクトを作成します。
次に、私の 2 番目のステップは、反対側のオブジェクトに対してチェックサムを検証することです。
私の 3 番目のステップは、問題のオブジェクトが受信され、チェックサムがパスした (またはパスしなかった) ことを示す確認メッセージを受信者が送信することです。チェックサム失敗の警告を受け取った場合は、それを数回再送信しようとします。
しばらくしても確認が取れない場合は、何度か再送信を試みます。
質問:
オブジェクトが正しく転送されたことを確認するために、私のプロトコルは正しいと思いますか?
また、Java でこれを実装する方法を知りたいですか? CRC32 クラスを使用してチェックサムを生成する必要がありますか?
おまけの質問: 各メッセージを圧縮する場合、圧縮前と圧縮後のチェックサムを生成する必要がありますか? また、Java でオブジェクトを圧縮するにはどうすればよいですか?