我想通过网络将消息(可序列化对象)从 java 实例发送到另一个实例。我想验证整个对象是否已正确发送。
我想我的第一步是计算对象的校验和。然后我将该校验和包含在对象中,或者为消息及其校验和构建一个容器对象。
然后我的第二步应该是针对另一侧的对象验证校验和。
我的第三步是让接收者发送一条确认消息,说明已收到相关对象并且校验和已通过(或未通过)。如果我收到校验和失败警告,我会尝试重新发送几次。
过了一会儿,如果我没有收到确认,我也会尝试重新发送几次。
问题 :
我的协议听起来是否正确,可以验证对象是否正确传输?
我也想知道我应该如何在 java 中实现它?我是否使用 CRC32 类来生成校验和?
额外问题:如果我要压缩每条消息,我是否会在压缩之前或之后生成校验和,以及如何在 java 中压缩对象?