我在我的应用程序一个socket.io服务器,侦听端口5759。
在我的代码中某些时候,我需要关闭,所以它不是会听了服务器。
我怎样才能做到这一点?
Socket.io就是不听HTTP服务器上。
我在我的应用程序一个socket.io服务器,侦听端口5759。
在我的代码中某些时候,我需要关闭,所以它不是会听了服务器。
我怎样才能做到这一点?
Socket.io就是不听HTTP服务器上。
你有一台服务器:
var io = require('socket.io').listen(8000);
io.sockets.on('connection', function(socket) {
socket.emit('socket_is_connected','You are connected!');
});
要停止recieving传入的连接
io.server.close();
注意:这不会关闭现有连接,这将等待超时他们被关闭之前。 要立即关闭它们,首先要连接套接字的列表
var socketlist = [];
io.sockets.on('connection', function(socket) {
socketlist.push(socket);
socket.emit('socket_is_connected','You are connected!');
socket.on('close', function () {
console.log('socket closed');
socketlist.splice(socketlist.indexOf(socket), 1);
});
});
然后关闭所有现有的连接
socketlist.forEach(function(socket) {
socket.destroy();
});
逻辑从这里捡到: 如何做立即关闭我一个Node.js的HTTP(S)服务器?
这个API已在socket.io v1.1.x又变了,现在是:
io.close()
该API已经改变。 要停止接收您应该运行传入连接:
io.httpServer.close();