サーバーに接続しているすべてのユーザーに、接続されているすべてのユーザー名をブロードキャストする単純なチャット アプリケーションを作成しました。ユーザー名のリストは、新しいユーザーが接続されるたびに更新されます。
私の問題は..接続されたユーザーのリストは、新しく接続されたユーザーと他のユーザーにのみ適切に表示されます.下の画像でわかるように、リストは重複したユーザー名でいっぱいです:
なぜこれが起こっているのかわかりません..理解を明確にするために、showUsernames
ユーザー名のリストが表示されているdivもクリアしています。
この問題に関連する以下のコードを見てください。(ユーザーが増加すると、最初に接続したユーザーのリストも増加し、次に 2 番目、3 番目、4 番目...)
chat.client.joins = function () {
//calling the server side method "GetConnectedUsers"
//The return value of the method is stored in a variable "users"
chat.server.getConnectedUsers().done(function (users) {
//clearing the div, to fill it again
$('#showUsernames').val('');
console.log(users.length);
//calling each username stored in a static dictionary on server side using for loop
for (var i = 0; i < users.length; ++i) {
$('#showUsernames').append('<li>' + users[i].Name + '</li>');
}
});
};