![](/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.