有人能告诉我如何用socket.io
与xhr-polling
在node.js
中断开连接吗?
此示例不适用于xhr-polling
,但适用于websockets
。
/* 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
断开连接的事件
发布于 2013-08-09 00:50:36
socket.io中的xhr轮询实现在连接关闭时不会发出断开连接事件,请参阅github第431期。
您可以要求Socket.IO的客户端打开sync disconnect on unload
标志,通知服务器断开连接:
// the browser (HTML) side
var socket = io.connect('http://localhost', {
'sync disconnect on unload': true
});
警告:当网络和/或服务器运行缓慢时,此选项可能会使用户体验恶化,有关更多信息,请参见此拉请求。
相关问题:
https://stackoverflow.com/questions/17860755
复制