我有一个大学任务来创建服务器 - 客户端对,客户端可以将文件传输到服务器。还应该进行完整性检查,以查看文件是否已损坏。我已经使用DigestInputStream
和DigestOutputStream
类实现了实际的文件传输,这些类在传输时计算文件的哈希码。现在我的问题是将客户端计算的哈希值发送到服务器,服务器必须将其与服务器计算的哈希值进行比较。我需要一些协议来发送实际的文件数据,它的哈希码和文件名。提前谢谢。
答案 0 :(得分:2)
使用Socket API实现最简单。
然后您可以执行以下步骤:
Socket上有很多教程,以及如何设置基本的客户端 - 服务器通信。
答案 1 :(得分:0)
您可以使用DataOutput / InputStream
DataOutput out = ...
String fileName = ...
byte[] bytes = ...
int hash = ...
out.writeUTF(fileName);
out.writeInt(bytes.length);
out.write(bytes);
out.writeInt(hash);
out.flush();