Hallo Forum,
ich bin noch ganz neu auf dem webSocket Gebiet aber mein Server läuft immer hin schon und auch meine test events kommunizieren nun miteinander.
So ist meine nächste Aufgabe das protokollieren der verbundenen User und nach dem serversetitig ein user validiert wurde ggf. ein paar Daten zur user unique_id abspeichern, zu mal ich die user ID des socket-servers brauche damit ich dann später gezielt einzelne User anspreche und nicht immer an alle sende =)
Nun gut, mein Server schaut atm so aus:
So nun habe ich bissl gegoogled und es scheint man muss ein namespace oder einen room (oder beides) nutzten um clients() Funktion nutzten zu können.
Da wäre ich zu nächst dankbar wenn Jemand sagen könnte ob ich den namespace so richtig setze oder ob das evtl. mein Problem ist, funktionieren tut es so jedenfalls, der Client verbindet sich auch mit dem namespace "/root" und auch die klick Sachen funktionieren!
Aber die clients() funktion zum anzeigen der verbundenen user geht leider immer noch nicht.
Folgendes habe ich ausprobiert (2 Zeilen unter connect wird getestet, hier ausgeklammert).
Tests
Jedes mal sagt er die function of() ist undefined ausser beim letzten mal da ist clients() undefined.
Nun habe ich gelesen das es wohl einige Änderung in diesem Bereich gab aber eine Lösung habe ich leider nicht gefunden =(
Ich hoffe mir kann jemand weiterhelfen.
MFG: Paykoman
ich bin noch ganz neu auf dem webSocket Gebiet aber mein Server läuft immer hin schon und auch meine test events kommunizieren nun miteinander.
So ist meine nächste Aufgabe das protokollieren der verbundenen User und nach dem serversetitig ein user validiert wurde ggf. ein paar Daten zur user unique_id abspeichern, zu mal ich die user ID des socket-servers brauche damit ich dann später gezielt einzelne User anspreche und nicht immer an alle sende =)
Nun gut, mein Server schaut atm so aus:
Code:
// Require HTTP module (to start server) and Socket.IO
var http = require('http');
var io = require('socket.io');
var port = 8080;
// Start the server at port 8080
var server = http.createServer(function(req, res){
// Send HTML headers and message
res.writeHead(200,{ 'Content-Type': 'text/html' });
});
server.listen(port);
// Create a Socket.IO instance, passing it our server
var socket = io.listen(server);
// Add a connect listener
socket = socket.of('/root'); // set namespace
socket.on('connection', function(socket){
console.log( 'Connection to client established');
//console.log( io.of('/root').clients() );
// der Client ist verbunden
socket.emit('receiveFromServer', { text: 'Der server hat dir Hallo gesendet!' });
// wenn Element geklickt wurde
socket.on('klicked', function (data) {
console.log('klicked'); // klick erhalten
// sende bestätigung zurück
socket.emit('klicked', { text: data.text });
});
});
console.log('Juhu Server running at Port:' + port + '/');
So nun habe ich bissl gegoogled und es scheint man muss ein namespace oder einen room (oder beides) nutzten um clients() Funktion nutzten zu können.
Da wäre ich zu nächst dankbar wenn Jemand sagen könnte ob ich den namespace so richtig setze oder ob das evtl. mein Problem ist, funktionieren tut es so jedenfalls, der Client verbindet sich auch mit dem namespace "/root" und auch die klick Sachen funktionieren!
Aber die clients() funktion zum anzeigen der verbundenen user geht leider immer noch nicht.
Folgendes habe ich ausprobiert (2 Zeilen unter connect wird getestet, hier ausgeklammert).
Tests
Code:
console.log( io.of('/root').clients() );
console.log( io.sockets.of('/root').clients() );
console.log( io.socket.of('/root').clients() );
console.log( socket.of('/root').clients() );
console.log( socket.clients() );
Jedes mal sagt er die function of() ist undefined ausser beim letzten mal da ist clients() undefined.
Nun habe ich gelesen das es wohl einige Änderung in diesem Bereich gab aber eine Lösung habe ich leider nicht gefunden =(
Ich hoffe mir kann jemand weiterhelfen.
MFG: Paykoman
Zuletzt bearbeitet: