2017-12-28 23 views
1

최근에 외부 서버 (REST API)에서 내 요청에 대해 Keep-alive를 사용하라고했습니다. 내가 request.js (노드 8)을 사용하기 때문에 그건 내가 발견 좋아요 "영원히"옵션 : 내가 Koa.js 및 노드 스크립트 어디를 사용하여 Node8 내 자신의 서버를 생성 일하고 경우request.js의 Forever-agent - 작동하는지 확인하는 방법

forever - set to true to use the forever-agent Note: Defaults to http(s).Agent({keepAlive:true}) in node 0.12+

테스트 내 서버에 100 GET 요청의 배열을 만들고 그 후에 Promise.all.

그러나 제대로 작동하는 경우 동일한 에이전트를 사용하고 있는지 어떻게 확인할 수 있습니까?

클라이언트 (또는 서버) 관점에서 어떻게 확인할 수 있습니까?

특정 도메인에 대한 모든 요청이 1 Node.js 프로세스에서 동일한 에이전트를 사용한다는 증거가 충분합니까?

+1

당신은 클라이언트에서'socket' 이벤트를 확인하고이에 대해 동일 여부를 확인 할 수 https://stackoverflow.com/questions/28229044/http-keep-alive-in-node-js – Malice

+1

관련 모든 요청. – Malice

+0

고마워요, 저처럼 잘 작동하는 것 같습니다. – Daniel

답변

1

클라이언트에서는 socket 이벤트를 사용하여 요청을 보내는 데 사용되는 소켓을 캡처 할 수 있습니다. 클라이언트에서 동일한 소켓을 사용하고 있는지 확인할 수 있습니다.

req.on("socket", function (socket) { 
//if saved socket is empty save it 
//else check if its using the saved socket 

}