私はソケットを使って練習するためだけに小さなパーティー システムを作ろうとしています。
ページの読み込み時にユーザー名を要求し、すべてのクライアントにユーザー名の ID を持つアンカーである新しいユーザー名を入力します。アンカーがクリックされると、特定のクライアントにパーティーに招待するリクエストを送信します。
リンクを送信する部分にほぼ到達しました。これまでのところ、次のとおりです。
socket.on('adduser', function(username) {
socket.username = username;
socket.clientId = socket.id;
usernames[username] = username;
console.log(socket.id);
socket.emit('updatechat', 'SERVER', 'You have connected.');
io.sockets.emit('updateusers', usernames);
console.log(usernames);
});
新しいユーザーを作成するため
socket.on('updateusers', function(data) {
var users = document.getElementById('users');
users.innerHTML = '';
for (var key in data) {
var a = document.createElement('a');
a.id = key;
a.href='#';
a.innerHTML = key;
users.appendChild(a);
users.appendChild(document.createElement('br'));
document.getElementById(key).addEventListener('click', function() {
inviteUser.call(this);
});
}
});
クライアント側の
エミットを全員ではなく特定のユーザーに送信する方法について混乱しています。
通常socket.emit
、何かを要求したユーザーにエミットを送信しますが、今は他の誰かに送信する必要があります
オブジェクトに socket.id を格納し、ユーザー名に一致する ID にリクエストを送信することを考えていましたが、特定の ID に送信するにはどうすればよいですか?
TL;DRsocket.id
: エミットを特定の人に送信して、特定の人だけがリクエストを受け取るようにするにはどうすればよいですか。
みんなありがとう :)