hallo,
voor een project ben ik bezig met real time chat met socket.io, node.js en mariadb.
ik wil door middel van een de database connetion de chat gegevens uitwisselen.
Ik kan het naar de database toe sturen ik krijg er alleen niks uit.
Wat doe ik fout?
ik heb het volgende geschreven:




//Create by kenny [email protected],
//With socket.io, fs, http and mariasql
 
var fs = require('fs'),
        http = require('http'),
        socketio = require('socket.io'),
        DB = require('mariasql');
var db = new DB({
        host: '{{hier stond het IP}}',
        user: '{{hier stond user}}',
        password: '{{hier stond het wachtwoord}',
        db: '{{hier stond de databasenaam}}'
});
//prepare de qeury for insert data
var insertchat = db.prepare("INSERT INTO messages (message,date,remove_from) VALUES (:message, NOW(),'1') ");
var message = db.query("SELECT * FROM messages");
 
var server = http.createServer(function(req, res) {
        res.writeHead(200, { 'Content-type': 'text/html'});
        res.end(fs.readFileSync('index.html'));
}).listen(3000, function() {
        console.log('Listening at: http://localhost:3000');
});
 
socketio.listen(server).on('connection', function (socket) {
        socket.on('message', function (msg) {
                message.on('result', function(res) {
                        res.on('data', function(row) {
                                console.dir(row);
                        }).on('end', function() {
                                console.log('Result set finished');
                        });
                }).on('end', function() {
                        console.log('No more result sets!');
                });
                console.log('Message Received: ', msg);
                db.query(insertchat({message: msg}));
                socket.broadcast.emit('message', msg);
         });
});
Gemiste berichten haal je op tijdens het initialiseren van je applicatie.
Beetje nutteloos om alle berichten uit de database te halen terwijl de gebruiker online is.
Ja weet ik maar wil het toch proberen :P

Reageren