gpt4 book ai didi

java - 在 Socket 中正确处理 chunked Http Response

转载 作者:行者123 更新时间:2023-11-29 08:51:48 25 4
gpt4 key购买 nike

我在检测 Socket 中 http 响应的真正结束时遇到了一些主要问题(我必须在请求时使用套接字)。我们正在与发送分块响应的网络服务通信。如果回复是一件式的,我阅读回复没有问题。但是,当它被拆分时,一切都会崩溃 :)。例如:

UserA -> RequestA -> Response[1] -> Processed
UserA -> RequestA -> Response[1] -> Processed
UserB -> RequestB -> a)Response[0,1] -> Processed[a.0]
UserB -> RequestB -> b)Response[0,1] -> Processed[a.1] <- From the previous line. And thus the true response to request B have to be processed again.

处理这种情况的首选方法是什么?顺便说一句,WS 还返回 Content-Length header 属性,但老实说,处理它让我很头疼。为此,我似乎必须将 header 字段读取到 ByteArrayOutputStream 并检查它是否包含 Content-Length 信息。然后检索实际长度并等待 is.available() 达到此值。由于可用方法返回估计值,我不相信它。那么正确的方法是什么?

最佳答案

首选方法是使用已经处理它的现有代码:例如,HttpURLConnection 或 Apache HTTP 客户端。您没有充分的理由重新发明轮子。

关于java - 在 Socket 中正确处理 chunked Http Response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22456303/

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