2013-04-27 28 views
19

HttpUrlConnection'ı (geliştirdiğim sunucu ve istemci arasında durum bilgisi olan bir protokolün parçası olarak) yeniden kullanmak istiyorum. Kalıcı http için bir Bağlantı = canlı tutma üstbilgisi olduğunu biliyorum. Şimdi, böyle bir kontağın nasıl yeniden kullanılacağını bilmek istiyorum. Bu kodu yazdım: Ben bu sunucuya "B" başlığını yeniden nasıl ŞimdiHttpUrlConnection Nasıl Yeniden Kullanılır?

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"); // 

, ben vb yeniden bağlamak denedim, ama hiçbir işe alır.

Ve sunucusu da response.setHeader("Connection", "keep-alive");

Birçok forumlarda baktım gerçekleştirmek, ama hiç kimse bu konuda yazdı. Belki de HttpURLConnection bununla ilgilenmiyor?

+0

@Kowser Anlamsız bir yorum. HTTP belirtimi * hakkında * başlık ve gövdeler. HttpURLConnection için API hakkında söylenecek bir şey yok. – EJP

cevap

36

Yapmıyorsunuz. Bunu kapat ve yeni bir tane yarat. TCP bağlantı havuzu ve sahne arkasında durgunluk yapar.

+3

Parlak, bunun işe yarayabileceğini bile hissetmedim - bunun başka bir bağlantı açacağından emin olduğumu düşündüm. – user967710

+1

Genellikle belirsiz olan nedenlerden dolayı, çoğu zaman yoktur. – Tuntable

+0

@aberglas Hiç görmedim, üretim kodunda yedi yıldır çalışıyor. Kanıtınız varsa lütfen üretin. Kaynaksız anekdot yeterli değildir. – EJP

İlgili konular