NodeJS + Socket.io,奇怪的重新连接行为

时间:2014-04-04 20:56:36

标签: node.js sockets socket.io

我有一个websocket服务器:

var io = require('socket.io').listen(serverPort, {'store' : RedisStore, log: false});   
io.enable('browser client minification');
io.enable('browser client etag');
io.enable('browser client gzip');
io.set('log level', 3); // 0 - error, 1 - warn, 2 - info, 3 - debug
io.set('transports', ['websocket', 'flashsocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']);

io.sockets.on('connection', function (socketServer) {
    // application goes here
});

我有客户:

socketClient = io.connect('http://' + host + ':' + port, {'sync disconnect on unload': true});

一切正常。我可以听取双方的消息。

socketServer.emit(listener, params); or socketClient.emit(listener, params);

但有一种我无法理解的行为。从服务器向客户端发出一些消息并重新启动服务器后,即CTRL + C和节点upServer.js,所有发出的消息都会再次发出。

示例:

socketServer.emit(listener1, params); // client fire listener1
socketServer.emit(listener2, params); // client fire listener2
socketServer.emit(listener3, params); // client fire listener3

CTRL + C. node upServer.js

客户端触发listener1,listener2和listener3

有人知道发生了什么事?

0 个答案:

没有答案