java - 将文件从一台主机传输到另一台主机并检查其完整性

标签 java stream protocols file-transfer

我的大学作业是创建服务器-客户端对,客户端可以将文件传输到服务器。还应该进行完整性检查以查看文件是否未损坏。我已经使用 DigestInputStream 和 DigestOutputStream 类实现了实际的文件传输,它们在传输时计算文件的哈希码。现在我的问题是将客户端计算的哈希发送到服务器,服务器必须将其与服务器计算的哈希进行比较。我需要某种协议(protocol)的想法来发送实际的文件数据、其哈希码和文件名。提前致谢。

最佳答案

使用 Socket 实现可能是最简单的API。

然后您可以采取以下步骤:

  1. 从客户端连接到服务器;
  2. 让客户端发送计算出的哈希值;
  3. 服务器根据计算出的哈希值验证哈希值;
  4. 服务器向客户端发回“成功”消息。

有大量关于 Socket 以及如何设置基本客户端-服务器通信的教程。

关于java - 将文件从一台主机传输到另一台主机并检查其完整性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8106087/

相关文章:

java - 降级 Eclipse ant 以在使用较旧的 JDK 库时进行编译 (Java 1.7 -> 1.6)

c - C 数据流库

http - 在 Squeak 中,一旦 block 到达,就将大 HTTP 响应的 block 写入磁盘

embedded - 如何为 CAN 总线向 .dbc 添加注释

java - 使用 Java 从 Linux 和 Windows 读取文件

java - 在 lambda foreach 表达式 java 8 中获取索引

C# 函数返回一个 Stream

http - HTTP库是否可以在不了解请求方法的情况下确定消息正文的长度?

ios - 当类符合包含变异功能的协议(protocol)时会发生什么?

Java If(false) 编译