Hesey
Hesey

Reputation: 5257

Java: How URLConnection treats completed TCP connection?

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.

Upvotes: 3

Views: 566

Answers (1)

user207421
user207421

Reputation: 310980

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.

Upvotes: 1

Related Questions