gpt4 book ai didi

java - 如何使用 java servlet 和 HttpURLConnection 对文件传输进行校验和

转载 作者:行者123 更新时间:2023-12-01 16:03:13 25 4
gpt4 key购买 nike

我正在尝试保证文件传输。我想我可以用某种校验和来做到这一点。

另外,由于一些内部问题,我需要通过流式传输来完成。

我想过在传输之前和之后计算摘要,但错误只会在传输结束时出现。我正在寻找某种分块校验和,如果有错误则重新发送。

有什么建议吗?

谢谢!

最佳答案

我认为您必须在堆栈中的更高级别上做一些事情 - HTTP 没有能力在中流中重新传输部分响应。一旦客户端发出 HTTP 请求,它必须收到完整的 HTTP 响应,然后才能发出另一个请求。 HTTP 分块主要是为了促进保持 Activity 连接,而无需提前计算响应的内容长度。

如果我们在这里讨论自定义客户端和服务器(我认为我们是这样,因为如果您谈论的是浏览器,这个问题就没有意义),那么也许一种方法是针对服务器将文件分成几部分,并让客户端使用保持 Activity 连接一次请求文件的每一部分。如果您发回响应中每个部分的校验和(即在 ETag header 中),您可以在客户端计算校验和以确保您收到正确的字节。如果校验和不匹配,则让客户端再次请求该 block 。

关于java - 如何使用 java servlet 和 HttpURLConnection 对文件传输进行校验和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3291375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com