2012-06-28 3 views
2

나는 Node.js와 함께 Socket.io를 사용하고 매초마다 메시지를내는 프로세스가 있습니다. 기본적으로,이처럼 보이는 간격이 : 만 XHR 폴링을 사용하면Socket.io setInterval 부정확

setInterval(function(){ 
socket.emit('message', msg); 
}, 1000); 

을 폴링은 매우 산발적이다. 때로는 1.0 초나 1.01 초 또는 999 초 정도의 비교적 정확하게 투표를합니다. 그런 다음 다른 시간은 200ms 또는 1.5ms와 같을 것입니다.

서버에서 지연을 유발할 수 있고 단순히 정적 데이터를 방출 할 수있는 로직을 모두 제거했으며 여전히 매우 산발적입니다.

더 정확하게 처리하려면 더 좋은 방법이 있습니까?

감사합니다.

+0

10 초 동안 실행하면 항상 동일한 패턴입니까? – c0deNinja

+0

xhr 청크 크기의 크기와 관련이 있는지 궁금합니다. – EhevuTov

답변

0

저는 Socket.io를 사용하여 몇 가지 게임을 제작했으며 서버에서 초당 30 프레임의 속도로 뛰어난 결과를 얻었으며 모든 클라이언트에 정보 업데이트를 제공했습니다. 클라이언트가 소켓을 지원하지 않을 때 문제가 발생했음을 기억합니다. 플래시에서 폴백 - 클라이언트에서 보낸 데이터가 거의 즉시 전송되었지만 서버에서 보낸 데이터는 설명대로 (산발적으로) 나타납니다.