0
私はsocket.ioを使用していますが、現在はすべてが素晴らしいですが、特定のクライアントにデータを送信したいと思います。しかし、私はsedクライアントのソケットIDを取得する方法がわかりません。私は接続時に余分なデータを送信したい。socket.io onconnect余分なデータを送信
私が試してみました:
if (steamID != "" && steamName != "") {
socket.emit("username", {
socketData: {
name: steamName
}
});
}
とサーバーサイドの:
socket.on('username', function (data) {
socket.username = data.socketData.name;
});
clients[socket.id] = {
id: socket.id,
ip: socket.request.connection.remoteAddress,
name: socket.username
cons
}
console.log(clients);
私は名前だけを取得しかし:未定義
私はconsole.log()がクライアントの直後にあるという質問を編集しました。今すぐコールバックをチェックします。 – Matt
console.log(data)をsocket.on( 'username'、function(data){{ソケット名: 'K1LzR'}}に入れます。これは私のユーザ名です。 – Matt
@Mattこれはあなたの問題です。コールバックが呼び出されてから 'clients [socket.id]'オブジェクトを使用/定義するまで待つ必要があります – jahnestacado