【发布时间】:2015-06-03 03:53:02
【问题描述】:
- 我正在开发一个基于服务器的游戏,我正在通过 JSON 将我的游戏数据从服务器发送到客户端。
- 为了尽量减少带宽使用,我将游戏数据 JSON 缓存在客户端计算机上,这样他们就不需要每次都从服务器下载 JSON。
- 我需要知道缓存在客户端的 JSON 是否与服务器上的相同(当我们在服务器上进行更改或用户访问并调整客户端的缓存时,它可能会变得不同) .
所以基本上我需要某种散列技术来获取 JSON 字符串唯一的键,我可以检查客户端上缓存的 JSON 是否与服务器上存储的相同。服务器将首先将该哈希发送给客户端,并且只有当它与客户端缓存生成的哈希不同时,客户端才会再次向服务器请求整个 JSON。
- 我不关心数据丢失,因为哈希永远不会再转换回字符串。
- 我不关心由于 JSON 中的不同键顺序而导致的哈希差异,因为我确保当我从服务器获取 JSON 时它们始终处于正确的顺序。
- 哈希不应该是特定于环境的。无论环境、32 位还是 64 位以及字节序如何,相同的算法都应该生成相同的哈希。
【问题讨论】:
标签: c# json caching hash unity3d