Socket.io Identifizieren Benutzer für Sockel
Schreibe ich einige code-Beispiel, identifi angeschlossenen Benutzer per socket.io... So, jetzt muss ich schreiben einen code auf der index-Seite zu teilen mit Benutzer.
Den code unten und gewusst WIE: senden einer Nachricht an Benutzer[1] "Willkommen" und für Benutzer[2] "HALLO Männer" und auch begrenzen Verbindung fr 2 Benutzer. also, wenn 2 Benutzer verbunden dann jemand anderes cant connect..
Index.html:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect();
var users;
socket.on('hello', function (data) {
console.log(data.hello);
});
socket.on('listing', function (data) {
users = data;
});
socket.on('chat', function (message) {
console.log(message);
});
socket.on('message', function (message) {
console.log(message);
});
function chat (message) {
socket.emit('chat', message);
}
function message (user, message) {
socket.emit('message', {
user: user,
message: message
});
}
</script>
app.js
var express = require('express');
var app = express.createServer();
var io = require('socket.io').listen(app);
app.listen(3000);
app.use(express.static(__dirname));
var users = {};
var userNumber = 1;
function getUsers () {
var userNames = [];
for(var name in users) {
if(users[name]) {
userNames.push(name);
}
}
return userNames;
}
io.sockets.on('connection', function (socket) {
var myNumber = userNumber++;
var myName = 'user#' + myNumber;
users[myName] = socket;
socket.emit('hello', { hello: myName });
io.sockets.emit('listing', getUsers());
socket.on('chat', function (message) {
io.sockets.emit('chat', myName + ': ' + message);
});
socket.on('message', function (data) {
users[data.user].emit('message', myName + '-> ' + data.message);
});
socket.on('disconnect', function () {
users[myName] = null;
io.sockets.emit('listing', getUsers());
});
});
app.listen(process.env.PORT);
- so dass Sie wollen, um zu ermitteln, welche Benutzer verbunden ist, die Steckdose ?
- mit Variablen wie usernummer ist in Ordnung, aber definitiv wird es nicht helfen, Sie in einem langen Lauf, ich schlage vor, gehen für mongodb und starten Sie die Speicherung von Werten in es
- Ich brauche diese für ein Beispiel... ich will also verstehen, wie das senden einer anderen Nachricht an verschiedene Benutzer und senden einer Nachricht vom client zum server und arbeiten dann mit den Nachrichten... so brauche ich zum Beispiel usw. senden onload Nachricht an Benutzer[1] und dann, wenn die Nachricht senden erstellen Sie ein div-wer wird desapire 5s - nur für Benutzer 1... nicht für Benutzer 2... und auch wie das senden einer Nachricht an beide user
- gibt es irgendein tutorial oder so, die mir helfen, verbinden Sie diese mit mongodb
- Sie können sich bei nodetuts.com
- es gibt keine gute und einfache basic-Beispiele... so WIE auf meinem Skript zu tun? eine Idee
- Verwandte Frage: stackoverflow.com/q/16627225/104380
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie beginnen, indem Sie einen Blick auf, wie konfigurieren Sie die Autorisierung mit Sockel.io. Die
handshakeData
zur Verfügung gestellt durch den Rückruf können dort geändert werden (ie: fügen Sie eine username-Eigenschaft), und alle änderungen, die zugänglich sein wird, übersocket.handshake
in Ihrem app.js (über das Objekt übergeben, um den Rückruf fürio.sockets.on('connection',..
). Mittels des request-header-Informationen, auch erreichbar von der handshakeData, Sie können Benutzer Werte in die Genehmigung Rückruf (z.B. aus einer Datenbank), so können Sie die Identifizierung des Benutzers für den angegebenen socket in Ihre app.js.Hier ist ein ähnliches Beispiel
Ich weiß, es war eine lange Zeit, da fragte man, aber nur 4 Tagen veröffentlichte ich ein Modul für node js, express und socket.io-die schafft es, dass genau das, was Sie wollte. Überprüfen Sie die Verwendung und Beispiel; ich hoffe, Sie finden dieses Modul hilfreich!
Können Sie es über NPM socket.io.Benutzer Dies ist ein node-js-Modul socket.io-Anwendungen. Ein Benutzer pro client.
Einige der Verwendungs-code: