Ankündigung

Einklappen
Keine Ankündigung bisher.

Node.js , Socket.io Error :

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Node.js , Socket.io Error :

    hallo , ich arbeite gerade an einer Node.js Applikation , nun kriege ich immer wieder den Fehler :
    listening on *:3000
    C:\xampp\htdocs\nodejs\database.js:27
    io.sockets.connected[allClients[xyz]].emit('socketid',allClients[xyz]);
    ^

    TypeError: Cannot read property 'emit' of undefined
    at Timeout._onTimeout (C:\xampp\htdocs\nodejs\database.js:27:4 1)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)

    C:\xampp\htdocs\nodejs>node database.js
    listening on *:3000
    C:\xampp\htdocs\bithunter\nodejs\database.js:28
    io.sockets.connected[allClients[xyz]].emit('socketid',allClients[xyz]);
    ^

    TypeError: Cannot read property 'emit' of undefined
    at Timeout._onTimeout (C:\xampp\htdocs\nodejs\database.js:28:4 1)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)
    Eigentlich funktioniert alles doch ich hier irgendwie Probleme mit den Verhältnissen der Funktionen , komme aber mit this. auch nicht wirklich weiter ,falls mir jmd. helfen könnte , wäre ich sehr dankbar !

    Code:
    var app = require('express')();
    var http = require('http').Server(app);
    var io = require('socket.io')(http);
    var mysql = require('mysql');
    var con = mysql.createConnection({host: "localhost",user: "root",password: "",database: "XXX"}); // MARIADB VERBINDUNDSSYNTAX
    con.connect();
    //var getusername = setInterval(function ()
    //{
    //io.on('username',function(msg){console.log(username);});
    //console.log("test");
    //var format = JSON.stringify(data);
    //var queryone = 'SELECT `userbalance` FROM `users` WHERE username = '+format;
    //con.query(queryone,function(err, result, fields){var balance = JSON.stringify(result); var balance = balance.replace(/[^0-9]/g,''); console.log(balance)});
    //},1000);
    
    var allClients = [];
    io.sockets.on('connection', function(socket) {
    this.io = io = require('socket.io')(http);
    allClients.push(socket.id);
    socket.on('disconnect', function() {
    var i = allClients.indexOf(socket.id);
    allClients.splice(i, 1);
     });
    var x = setInterval(function () {
    for (xyz = 0  ;xyz < allClients.length ; xyz++)
    {
      io.sockets.connected[allClients[xyz]].emit('socketid',allClients[xyz]);
      socket.on('username', function (username,io){io.connected[allClients[xyz]].emit('balance',"you have a account");
       var format = JSON.stringify(username);var queryone = 'SELECT `userbalance` FROM `users` WHERE username = '+format;
      con.query(queryone,function(err, result, fields,socket){var balance = JSON.stringify(result); var balance = balance.replace(/[^0-9]/g,'');});
    });
    }
    },1000);});
    
    
    
    // var format = JSON.stringify(data);
    // var queryone = 'SELECT `userbalance` FROM `users` WHERE username = '+format;
    // con.query(queryone,function(err, result, fields){var balance = JSON.stringify(result); var balance = balance.replace(/[^0-9]/g,'');
    
    
    http.listen(4041, function(){ console.log('listening on *:3000'); });

  • #2
    Warum zweimal require('socket.io')?

    Kommentar

    Lädt...
    X