Ich verwende node.js 0.6.18, und der folgende Code bewirkt, dass node.js die TCP-Verbindung zwischen zwei Anfragen schließt (verifiziert mit strace
unter Linux). Wie mache ich Node.js die gleiche TCP-Verbindung für mehrere HTTP-Anfragen wiederverwenden (d. H. Keep-Alive)? Bitte beachten Sie, dass der Webserver Keep-Alive-fähig ist und mit anderen Clients funktioniert. Der Webserver gibt eine chunked HTTP-Antwort zurück.
Ich konnte das schaffen (verifiziert mit strace), indem ich ein http.Agent
und seine Eigenschaft maxSockets
auf 1 setze. Ich weiß nicht, ob dies der ideale Weg ist; es erfüllt jedoch die Anforderungen. Eine Sache, die ich bemerkte, ist, dass das, was die Docs über http.Agent
behaviour behaupteten, nicht genau beschrieb, wie es in der Praxis funktionierte. Code unten:
EDIT: Ich sollte hinzufügen, dass ich meine Tests mit node.js v0.8.7
durchgeführt habeTags und Links node.js http client keep-alive