web-dev-qa-db-fra.com

Comment réutiliser HttpUrlConnection?

Je suis intéressé par la réutilisation d'une HttpUrlConnection (dans le cadre d'un protocole d'état entre serveur et client que je développe). Je sais qu'il existe un en-tête Connection = keep-alive pour http persistant. Maintenant, je veux savoir comment réutiliser une telle connexion. J'ai écrit ce code:

URL u = new Java.net.URL("http://localhost:8080/Abc/Def");
HttpURLConnection c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.setRequestProperty("Connection", "keep-alive");
c.setHeader("A","B");
c.getInputStream() //here I see that server gets my messages (using DEBUG)
c.setHeader("B","C"); //

Maintenant, comment renvoyer cet en-tête "B" au serveur, j'ai essayé de me reconnecter, etc., mais rien ne le fait fonctionner.

Et le serveur effectue également response.setHeader("Connection", "keep-alive");

J'ai regardé dans de nombreux forums, mais personne n'a écrit à ce sujet. Peut-être que HttpURLConnection ne gère pas cela?

28
user967710

Non. Vous fermez celui-ci et créez un nouveau. Il fait TCP pooling de connexion et keepalive dans les coulisses.

44
user207421