【发布时间】:2015-04-19 16:42:14
【问题描述】:
我只是想使用sails.socket.emit() 发送消息,我得到了这个:
error: Sending 500 ("Server Error") response:
Error (SAILS:HOOK:SOCKETS:USAGE):: `sails.sockets.get()` cannot lookup socket w/o an id (got: `undefined`)
控制器中的代码:
sayHiToFriend: function(req, res) {
var friendId = req.param('id');
sails.sockets.emit(friendId, 'privateMessage', {from: req.session.userId, msg: 'Hi!'});
res.json({
message: 'Message sent!'
});
}
和客户端:
io.socket.get('/user/sayHiToFriend', function serverSays(err,users){
console.log('with headers: ', JWR.headers);
console.log('and with status code: ', JWR.statusCode);*/
if (err)
console.log(err)
console.log(JSON.stringify(users));
});
我必须将 id 作为数据传递给 io.socket.get 吗?如果有怎么办? 编辑:解决方案:
sails.sockets.emit(sails.sockets.id(req.socket), 'welcome', {custom: 'data here'});
【问题讨论】:
-
您必须提供您的代码。
-
修改了我原来的帖子。最初的问题是一些愚蠢的语法问题。但是现在我得到了这个
-
嗯,看起来有些东西是未定义的,所以它要么是friendId,要么是req.session.userId
-
对不起,我再次编辑,所以你没有看到我认为的代码的相关部分。好像我可以将数据传递给 io.socket.get。这可以消除错误,但我得到了其他人。我不知道如何正确传递套接字 Id...
标签: node.js sockets undefined sails.js