0
我想将socket.io集成到我的keystone应用程序中。我实例化对象在我keystone.app的底部,像这样:Socket.io和Keystone - 参考socket.io对象
var sock = require('socket.io');
keystone.start({
onStart: function() {
var hserver = keystone.httpServer;
var io = keystone.set('io', sock.listen(hserver)).get('io');
// Socket function
io.on('connection', function (socket) {
console.log('Socket connected.')
socket.on('hon', function (data) {
socket.emit('hon_res', {data})
});
});
}
});
这一切工作正常,我能够发出从我收到的插座的消息。当我试图在我的模型之一用于将数据插入到mongo数据库后发出消息时,问题就出现了。
在我的架构/模型文件中。我已经添加了这部分。它被正确调用,但套接字似乎无法连接到套接字会话。
Hon.schema.post('save', function(data){
var io = keystone.get('io');
io.attach(keystone.httpServer)
io.sockets.emit('hon_upd');
});
我收到的客户端控制台此错误,后保存功能,几秒钟后称为:
VM7414 extensions::messaging:79 Uncaught Error: Attempting to use a disconnected port object
at PortImpl.postMessage (extensions::messaging:79:13)
at Port.publicClassPrototype.(anonymous function) [as postMessage] (extensions::utils:149:26)
at destroyPurpleBox (file:///Users/thobyy/Library/Application%20Support/Google/Chrome/Default/Extensions/mlomiejdfkolichcflejclcbmpeaniij/7.2.2_0/dist/purplebox.js:43:9)
at file:///Users/thobyy/Library/Application%20Support/Google/Chrome/Default/Extensions/mlomiejdfkolichcflejclcbmpeaniij/7.2.2_0/dist/purplebox.js:51:5
你找到一个方法来集成插座,带梯形JS io的..? – usama