イベントで奇妙な問題が見つかりましたbeforeunload
。
このコードを見てください -
クライアント JavaScript:
var socket = io.connect('http://localhost:1337');
socket.on('connect', function() {
window.addEventListener("beforeunload", function () {
socket.emit('out');
});
});
サーバー node.js:
/* 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));
});
io.sockets.on('connection', function (socket) {
socket.on('out', function() {
console.log('disconnected');
});
});
先に進んでサーバーを起動しlocalhost:1337
、タブに移動して閉じると、サーバーはログに記録しませんdisconnected
。
行を削除すると、io.set('transports', ['xhr-polling']);
サーバーがログに記録されることがわかりましたdisconnected
。
disconnected
サーバーがxhr-polling にログインしないのはなぜですか?
助けようとするすべての人に感謝します。