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