0

我有存储在本地计算机上并使用 Web 服务定期复制的数据。该数据对于该程序的应用至关重要,并且与业务交易相关。

TransactionHeader JOIN TransactionDetail 

以此类推。

在将数据发送到 Web 服务时,我应该使用某种类型的 CRC 检查,还是由 TCP 协议本身充分处理?

编辑:只是为了清楚数据不会从客户端删除,直到服务器确认接收并且我在我的网络服务中使用强类型参数但我更多地考虑“损坏”数据(尽管在所有情况下,但字符串理论上应该失败数据类型转换)。

4

1 回答 1

1

通常 tcp 可以很好地传输完整的数据,但如果该数据对业务至关重要,那么您不应该将数据检查留给 tcp,而应该使用良好的散列函数

在 tcp 级别,所有内容都减少为字节字符串,因此,如果您传输了一个数字,如果该数字在传输过程中由于错误而发生更改,并且恰好仍然是另一侧的数字,则意味着数据类型转换不会捕捉到

如果您处理的主要问题是传输检查,那么 crc32 或类似的东西可以正常工作,但如果这些哈希值用于在接收并存储数据后验证数据,则应该使用更好的哈希值,如 sha1 或类似的

于 2010-12-01T02:43:25.860 回答