当其中一个文件在 Web 服务器中时,如何检查两个文件是否相同?

How to check if two files are the same,when one of them is in a web server?

我正在尝试制作一个游戏启动器,如果游戏文件和网络服务器上的其他游戏文件不匹配,它应该能够修补游戏文件。

为了比较文件,我可以比较它们的大小,但我需要一种方法将文件从 Web 转换为 FileStream 实例。

有什么想法吗?

显然,每次要检查本地文件是否与在线文件相同时,都从网络服务器下载文件是不切实际的。这就是校验和的用途。

您所要做的就是散列您的本地文件并将校验和与来自服务器的校验和进行比较,该校验和与文件本身一起在某处提供,例如 file.sha1 包含 160 位 SHA-1文件的哈希值。

但是,通常只有当您要对本地文件执行完整完整性检查时才执行此操作。通常,更新等只需跟踪游戏版本即可完成。有一个文件包含所有更新的列表、它们各自的版本以及应该下载以更新到该版本的包名称。为您发布的每个更新提供包含修改文件的更新包,以便游戏启动器可以下载并安装它们以保持游戏最新。