J'ai développé un script Node.js pour me connecter à une base de données MySQL en utilisant socket.io. Cependant, lorsque j'essaie de me connecter au serveur à l'aide de mon application client Titanium, je passe juste la méthode de connexion que j'ai créée; il n'y a aucun message d'erreur ou message d'aucune sorte, et le socket se ferme juste sans appeler le script. Quelqu'un comprend-il quel pourrait être mon problème? Pour la référence, mon code est:Script Node.js pour se connecter à la base de données MySQL via socket.io
var app = require('net')
, fs = require('fs')
, Client = require('mysql').Client
, client = new Client();
client.user = 'user';
client.password = 'password'; // Obviously this is not my real password
var sockets_list = [];
var server = app.createServer(function (socket) {
sockets_list.push(socket);
socket.write("Hello Client\r\n");
socket.on('data', function(data) {
console.log(data);
for (var i = 0; i < sockets_list.length; i++) {
sockets_list[i].write(data);
}
});
client.connect(function(err, results) {
if (err) {
console.log("ERROR: " + err.message);
socket.write("NO!\r\n");
throw err;
}
console.log("connected.");
socket.write("Got through here\r\n");
clientConnected(client);
});
socket.on('end', function() {
var i = sockets_list.indexOf(socket);
sockets_list.splice(i, 1);
});
});
server.listen(8080);
clientConnected = function(client)
{
client.query('USE db', function(err, results) {
if (err) {
console.log("ERROR: " + err.message);
throw err;
}
});
};
Si quelqu'un pouvait me dire où je me trompe avec ce code, il serait grandement apprécié. Je vous remercie.
Cordialement
Le Gyro capitaine
Comme je l'ai mentionné précédemment, je continue à travailler sur ce script en utilisant nœud-mysql-libmysqlclient, mais j'avons rencontré quelques difficultés à réellement se connecter à le serveur. Mon script de connexion est attaché ici:
exports.CallStoredProcedureSync = function (test) {
test.expect(12);
var conn;
var result;
var row;
var rows;
var host = "localhost";
var user = "test";
var password = **********;
var database = *******;
var sockets_list = [];
conn = mysql.createConnectionSync();
conn.connectSync(host, user, password, database, 0, 0, conn.CLIENT_MULTI_RESULTS);
if (!conn.connectedSync())
{
sys.puts("Connection error " + conn.connectErrno + ": " + conn.connectError);
socket.write("Connection error " + conn.connectErrno + ": " + conn.connectError);
process.exit(1);
}
// More code here
}
Cependant, je ne peux accéder à aucun code défini après la connexion. Si quelqu'un pouvait me dire où je me trompe, j'apprécierais beaucoup. Pour l'enregistrement, j'utilise le code de test pour node-mysql-libmysqlclient ici: https://github.com/Sannis/node-mysql-libmysqlclient/blob/master/tests/complex/test-call-stored-procedure.js. Merci.
Cordialement
Le Gyro capitaine
Espérons que cela aidera http://nodejs.org/ – Prasanth
Merci. J'ai déjà jeté un oeil sur le site de Node.js et j'ai décidé d'arrêter d'utiliser le paquet node-mysql en faveur du paquet node-mysql-libmysqlclient. –