当我使用 URLConnection 做一些 HTTP 请求时,我只能关闭 InputStream 和 OutputStream,而不能关闭套接字。
类是否自动关闭套接字?它是怎么做到的?服务器会返回 FIN 还是其他什么?
如果我生成许多线程,其中包括每个 URLConnection,它会自动重用套接字吗?我捕获了一些包,它显示大约每 3 个连接共享 1 个套接字。
最佳答案
它会在短时间内(我认为是 5 或 15 秒)汇集套接字以便将来可能重用。 HttpURLConnection.disconnect() 是唯一实际关闭它的东西。
关于Java:URLConnection 如何处理完成的 TCP 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5151953/