2012-11-25 21 views
12

Bir yanıtı kapatmanın bir yolu var mı? res.end()'u kullanabilirim ama aslında soketi kapatmıyor.Express.js kapatma yanıtı

Neyi başarmak isterim: Ağ ile arabirim oluşturan bir Java programı yazıyorum ve bunun için bir node.js sunucusu yazıyorum. Java kodu:

String line; 
while((line = in.readLine()) != null) { 
    System.out.println("RES: "+line); 
} 

Fakat bu sadece asılı duruyor .. Hala bağlantı yok, soketten giriş bekliyor.

Düğüm: Daha önce söylediğim gibi

exports.getAll = function (req, res) { 
    res.set("Content-Type", "text/plain"); 
    res.set(200); 
    res.send(..data..); 
    res.end(); 
} 

ancak res.end() .. bağlantıyı kapatmaz, java o süre döngüde takılırsa sonraki böylece bir şey olacak düşünme tutar.

size yerine varsayılan canlı tutma stratejisinin bağlantısını kapatmak için bir HTTP başlığı ayarlayarak çözüldü

+0

Ben son node.js ve express.js kullanıyorum –

cevap

24

ederiz.

res.set("Connection", "close"); 
+0

tüm yanıtlara varsayılan olarak kanca gibi bir ihtimal var mı? –

+3

@AbhishekDeb Yukarıdaki üstbilgiyi ayarlayan bir ara katman oluşturursanız, tüm istekleri için çalışır. –

+0

Şüphesiz bu, uzak tarafın bağlantıyı kesmesini söyler. Yanıtlara üstbilgileri geri gönderiyorsanız bağlantıyı kapatmıyorsunuz. – Phil