2013-07-25 3 views
0

xhr-polling으로 socket.io으로 연결 해제 이벤트를받는 방법을 누군가에게 알려 주실 수 있습니까?node.js - xhr 폴링을 사용하여 socket.io 연결 해제 이벤트 받기

이 예는

/* Basics */ 

var express = require('express'), 
app = express(), 
server = require('http').createServer(app), 
io = require('socket.io').listen(server); 

server.listen(1337, null); 

io.set('transports', ['xhr-polling']); 

// routing 
app.get('/', function (req, res) { 
res.sendfile("index.html"); 
app.use(express.static(__dirname)); 
}); 

var online_clients = 0; 

io.sockets.on('connection', function (socket) { 
    socket.on('disconnect', function() { 
     console.log("SOMEONE LEFT"); 
    }); 
}); 

는 어떻게 xhr-pooling로 분리 이벤트를 얻을 .. xhr-polling 작업하지만 websockets 작동하지? 미리

감사)

답변

1

접속이 폐쇄 될 때 연결 해제 이벤트를 방출하지 않는 socket.io의 XHR 폴링 구현 github issue #431 참조.

당신은 sync disconnect on unload 플래그를 설정하여 분리에 대한 서버를 알리기 위해 socket.io의 클라이언트를 요청할 수 있습니다 :

// the browser (HTML) side 
var socket = io.connect('http://localhost', { 
    'sync disconnect on unload': true 
}); 

경고 :이 옵션은 네트워크 및/또는 서버가 느린 사용자 경험을 악화시킬 수 자세한 내용은 pull request을 참조하십시오.

관련 질문 :

관련 문제