Node.js/Sockets-用户连接,它加载以前的消息,但它将消息加载到所有其他聊天用户,而不是刚刚连接的用户
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向所有OTHER套接字发送消息的内容。
只需执行socket.emit.
相关文章:
- 当用户按下回车键时,自动在text区域/text中插入消息
- Rails:如何向用户预加载消息
- 我确实有一个表单,如果用户输入了输入,它应该检查否定或空的输入框,并抛出一条警告消息
- 如果用户输入的长度小于最小长度,则显示错误消息
- 如何将ng消息与<输入名称='用户[名称]'>
- 通过node.js和socket.io在两个用户之间发送消息
- Javascript-如果用户没有响应,则关闭确认消息
- 当用户单击保存按钮时,标签会显示一条消息
- 我该怎么做才能防止在用户单击后退按钮时出现咆哮消息
- KIK机器人在用户许可后向用户的朋友发送消息
- 如果用户的浏览器早于以下版本,则显示一条消息:IE 10、Firefox 39、Chrome 39、Opera 8
- SignalR:为特殊用户发送消息
- 从Meteor呼叫向用户显示相应的错误消息
- 如何让窗口消息保持不变,直到用户单击按钮才离开页面
- 用户对警报消息的输入是否需要清除
- 在cordova android中无需用户确认即可自动发送消息
- 如何根据用于提交的表单的 ID 更改用户消息
- 如何实现即时用户消息和通知系统
- jQuery——替换用户消息——重复它自己
- 元素,紧跟用户消息