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?
Non. Vous fermez celui-ci et créez un nouveau. Il fait TCP pooling de connexion et keepalive dans les coulisses.