【发布时间】:2016-10-25 23:34:55
【问题描述】:
我正在尝试使用socket.io-mongodb-emitter 向socket.io 房间发送一些消息。我的问题是,我的脚本永远不存在,因为它保持与mongodb 的连接。
请检查我下面的例子,给我一些建议,我怎样才能让脚本关闭mongodb连接并让自己退出。
emitter.js 这个脚本发出消息,客户端得到它,但进程没有退出。
var io = require('socket.io-mongodb-emitter')("mongodb://localhost:27017/test");
io.in('someRoom').emit('someMessage');
emitter-2.js此脚本退出,但客户端永远不会收到消息。
var io = require('socket.io-mongodb-emitter')("mongodb://localhost:27017/test");
io.in('someRoom').emit('someMessage');
io.client.close();
emitter-3.js 这个完美运行,客户端得到消息,进程退出。但是setTimeout是一个非常糟糕的解决方案,必须有一些适当的方法让这个进程自行退出。
var io = require('socket.io-mongodb-emitter')("mongodb://localhost:27017/test");
io.in('someRoom').emit('someMessage');
setTimeout(function () {
io.client.close();
},100);
【问题讨论】:
标签: javascript node.js mongodb sockets socket.io