簡體   English   中英

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向所有其他套接字發送消息的內容。

只需執行socket.emit即可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM