我收到了这个错误
TypeError: this.adapter.clients is not a function
at Namespace.clients (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/sails-hook-sockets/node_modules/socket.io/lib/namespace.js:253:16)
at Object.addRoomMembersToRooms (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/sails-hook-sockets/lib/sails.sockets/add-room-members-to-rooms.js:50:42)
at introduce (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/lib/hooks/pubsub/index.js:1342:23)
at wrapper [as introduce] (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/lodash/index.js:3095:19)
at publishCreateSingle (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/lib/hooks/pubsub/index.js:1237:16)
at /Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/lib/hooks/pubsub/index.js:1069:16
at arrayEach (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/lodash/index.js:1289:13)
at Function.<anonymous> (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/lodash/index.js:3345:13)
at publishCreate (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/lib/hooks/pubsub/index.js:1068:11)
at wrapper [as publishCreate] (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/lodash/index.js:3095:19)当我尝试在创建了publishCreate记录之后,使用了创建函数
Tbl_Direct_Cash.create({
amount_paid: amount_paid,
payment_type: payment_type,
payment_ID: payment_ID,
tbl_user: tbl_user
}).exec(function (e, r) {
if (e) {
console.log(e);
return res.ok('TRANSACTION FAILED....TRY AGAIN');
} else {
//console.log(e);
Tbl_Direct_Cash.publishCreate({id: 40});
return res.ok('TRANSACTION SAVED');
}
});这是我的手表方法
notify: function (req, res) {
if (req.isSocket) {
Tbl_Direct_Cash.watch(req);
Tbl_Deduction.watch(req);
// Gene.watch(req);
return res.ok()
}
}创建请求是在发出通知请求时从移动应用程序发送的。
io.socket.on('connect', function () {
io.socket.get('/dashboard/notify', function (e, r) {
console.log(e, r);
});
})从管理客户端发送。
发布于 2017-04-09 23:50:57
我的socket.io-redis版本很老了。将其更新为最新版本解决了问题。
https://stackoverflow.com/questions/43213690
复制相似问题