![](/img/trans.png)
[英]Node.js - Load previous messages when user connects? bit confused with logic
[英]Node.js/Sockets - User connects, it loads previous messages but it loads messages to all other chat users instead of the one that just connected
所以我是Node.js的新手,正在聊天。 基本上,我有两个文件:server.js(服务器端)和script.js(客户端)。 在服务器端,我这样:
在server.js中:
socket.on('previousMessages', function (data){
db.query("SELECT * FROM messages", function (error, results, fields) {
for(var i=0;i<results.length;i++){
var obj = results[i];
socket.broadcast.emit('message', {
'message' : "hellow",
'pseudo' : "arleitiss"
});
//console.log("break");
}
});
});
在script.js中:
function addMessage(msg, pseudo){
$("#chatEntries").append('<div class="message"><p>' +
pseudo + ' : ' + msg + '</p></div>');
}
socket.on('message', function(data){
addMessage(data['message'], data['pseudo']);
});
因此,当用户登录时,输入他的昵称,它将从数据库中加载所有先前的消息。 然后,它应该只为连接的用户在聊天中加载它们,而是:它忽略刚刚连接的用户,并为其他聊天用户加载所有消息。
那么我该如何解决呢?
哦,是的,不要介意我还没有使用结果,我只是先使用基本变量进行测试。
在服务器中,您使用套接字。 广播 .emit向所有其他套接字发送消息的内容。
只需执行socket.emit即可 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.