Java:URLConnection如何处理已完成的TCP连接?

发布于 2024-10-19 14:00:36 字数 210 浏览 4 评论 0原文

当我使用 URLConnection 进行一些 HTTP 请求时,我只能关闭 InputStream 和 OutputStream,而不能关闭套接字。

该类是否自动关闭套接字?它是如何做到的?服务器会返回 FIN 还是其他什么?

如果我生成许多线程,其中包含每个 URLConnection,它会自动重用套接字吗?我捕获了一些包,它显示大约每 3 个连接共享 1 个套接字。

When I use URLConnection to do some HTTP requests, I could only close InputStream and OutputStream, but not the socket.

Does the class automatically close the socket? How does it do it? Will the server return a FIN or something else?

If I produce many threads including each URLConnection in them, will it automatically reuse the socket? I caught some packages, it shows about every 3 connections share 1 socket.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无所谓啦 2024-10-26 14:00:36

它将套接字集中起来,以便将来在短时间内(我认为是 5 或 15 秒)内重用。 HttpURLConnection.disconnect() 是唯一真正关闭它的方法。

It pools the socket for possible future reuse within a short period of time, I think 5 or 15 seconds. HttpURLConnection.disconnect() is the only thing that actually closes it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文