gpt4 book ai didi

javascript - 使用 sails.sockets.join 和 sails.sockets.broadcast 到客户端的 Sails.js 不会将信息返回给客户端

转载 作者:行者123 更新时间:2023-12-01 16:51:07 27 4
gpt4 key购买 nike

我正在尝试在客户端使用 Sails.js 和 sails.io.js 创建一对一聊天。

我可以让 io.socket.getio.socket.post 工作,但是我无法从任何一个 收到任何东西sails.sockets.broadcastModel.publish 如下所示:

Personalized chat using Sails.js

或在这里

Sails.js + socket.io: Sending messages from server to clients

服务器端代码:

用户 Controller .js

module.exports = {
listen: function(req, res) {
console.log("about to join " + userId);
sails.sockets.join(req.socket, req.param('userId'));
}
};

发件人:http://beta.sailsjs.org/#/documentation/reference/sails.sockets/sails.sockets.join.html

MessageController.js

// Some code to get userId and message model here

console.log("about to broadcast on " + userId);
sails.sockets.broadcast(userId, 'conversation_message', message);

// Did not JSONify the message model, not sure if I need to?

发件人:http://beta.sailsjs.org/#/documentation/reference/sails.sockets/sails.sockets.broadcast.html

客户端代码:

// Some code to get userId...

io.socket.get('/user/listen', {
userId: userId
}, function() {
io.socket.on('conversation_message', function(message) {
console.log("we have a message");
});
});

当我使用 userId 命中触发广播的路由时,没有任何内容发送到此客户端代码以记录 我们有消息。有什么想法吗?

我也尝试了 Model.subscribe/Model.publish 方法,但没有成功——同样的问题。

更新:listen 函数实际上并没有返回——正如有人在后来删除的评论中建议的那样。将 res.send(200); 添加到 listen 函数的末尾足以使其工作。

如果那个人愿意再次添加他们的评论作为答案,我会接受。

最佳答案

(那是我。我认为我的评论可能不值得,因为我重读了你的帖子,而你说你已经开始工作了,所以我认为我错了。我的评论是下面的效果,但我不不要逐字记住)

您是否检查过以确保您确实在客户端收听时收到了响应?您实际上在整个代码中获得了哪些日志语句?在客户端 socket.get 中放置一个 console.log('get user listen') 或其他内容。

关于javascript - 使用 sails.sockets.join 和 sails.sockets.broadcast 到客户端的 Sails.js 不会将信息返回给客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24837825/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com