NodeJS를 사용하여 긴 폴링 기법을 구현하려고합니다.동일한 브라우저에서 둘 이상의 연결에 긴 폴링
이 기본 코드는 서버에 배포했습니다.
http = require('http');
function onRequest(request, response) {
console.log('onRequest reached');
}
http.createServer(onRequest).listen(8080);
console.log('Server has started.');
localhost : 8080을 요청하면 onRequest가 실행됩니다. 이 연결이 살아있을 때 두 번째 탭에서 같은 페이지를 요청하지만 onRequest는 시작되지 않습니다. 그러나 다른 브라우저에서 동일한 페이지를 요청하면 onRequest가 실행되지만 첫 번째 연결은 여전히 "긴 폴"상태입니다.
브라우저에 제한이 있습니까? 어떻게 그리고 왜 이런 일이 일어나는가? 어떻게 이것을 피할 수 있습니까?
btw. 긴 폴링 채팅 및 알림 시스템을 구현하려고합니다. 실제로 요청은 AJAX 호출에 의해 이루어져야합니다.
보내는 헤더가 즉시 도움이되지 않습니다. –
괜찮습니다. HTTP/1.1 스펙에 따르면 브라우저는 동일한 서버에 동시에 최대 2 개의 연결 만 열어야합니다. 당신의 문제가'/'와'/ favicon.ico' 또는 다른 것을 요구하는 첫 번째 창에서 오는 것인지 확실하지 않습니다 ... 어쨌든 긴 폴링을 사용하면 큰 단점이 있습니다. –
오. 나는 또한 약 2 연결 한계를 읽었습니다. 그러나 /favicon.ico에 대해 잊어 버렸습니다. :) 이제는 이것을 피할 방법이 필요합니다. Facebook은 그의 채팅으로 무엇을합니까? –