socket.io 서버와 클라이언트가 올바르게 실행 중입니다. 서버가 다운 될 때마다 클라이언트는 5 초마다 다시 연결을 시도합니다. 서버가 다시 가동되면 문제없이 연결됩니다.시작시 node.io 서버가 충돌 함
하지만 서버가있을 때, 그것을 보여주는 충돌이 다시 서버를 백업하기 전에 오랜 시간을 기다릴 때 문제는 온다 :
info - socket.io started
debug - client authorized
info - handshake authorized DqN4t2YVP7NiqQi8zer9
debug - setting request GET /socket.io/1/websocket/DqN4t2YVP7NiqQi8zer9
debug - set heartbeat interval for client DqN4t2YVP7NiqQi8zer9
debug - client authorized for
debug - websocket writing 1::
buffer.js:287
pool = new SlowBuffer(Buffer.poolSize);
^
RangeError: Maximum call stack size exceeded
클라이언트 재 연결 (각 5 초 실행 된이 연결되어 있지 않을 때) :
서버 측에function socket_connect() {
if (!socket) {
socket = io.connect('http://192.168.1.25:8088', { 'reconnect':false, 'connect timeout': 5000 });
} else {
socket.socket.connect();
}
socket.on("connect", function() {
clearInterval(connect_interval);
connect_interval = 0;
socket.emit('player', { refresh_data:true });
});
}
만 소켓 인스턴스, 그것은 충돌 :
var io = require('socket.io').listen(8088);
나는이 문제가 다음과 같다고 생각한다 :
서버가 올라 오면 클라이언트가 5 초마다 (15 시간 동안 연결 해제 * 60m * 60 초/5 초 재 연결) 모든 클라이언트 연결을 수신하고 충돌합니다.
서버가 수행하려는 연결을 닫으려면 어떻게해야합니까?
PS : 나는 클라이언트를 다시로드하는 경우, 서버 최대 후에는 socket.io.js의 주요 아이디어는 기존의 연결을 재사용 할 수
왜 수동으로 다시 연결하고 설정하는'재 연결 : FALSE ' ? – loganfsmyth
원인을 각각 5 초마다 다시 연결하려고하고 socket.io 다시 연결 메서드가 다시 연결하려고합니다. 각각 (증분) 초 및 재 연결 제한이 있습니다. –