Je souhaite envoyer des données stockées dans une base de données vers mon client et donc les afficher sur le client. Je suis bien connecté à ma base de données avec mon serveur nodeJS et j'arrive à afficher les données dans la console. Par contre je n'arrive pas à envoyer les données vers le client, je ne vois pas trop comment faire, j'ai essayé avec la méthode send mais rien.
var fs = require("fs");
var http = require("http");
var url = require("url");
var mysql = require("mysql");
var socketnavigateur;
var server = http.createServer(function (request, response) {
var pathname = url.parse(request.url).pathname;
console.log("Request for " + pathname + " received.");
response.writeHead(200);
if(pathname == "/socket-client.html")
{
html = fs.readFileSync("socket-client.html", "utf8");
response.write(html);
}
else if (pathname == "/depassement.html")
{
html2 = fs.readFileSync("depassement.html", "utf8");
response.write(html2);
}
else if (pathname == "/style.css")
{
css = fs.readFileSync("style.css", "utf8");
response.write(css);
}
else if (pathname =="/depassement.css")
{
css2 = fs.readFileSync("depassement.css", "utf8");
response.write(css2);
}
else if (pathname == "/RGraph.common.context.js")
{
script = fs.readFileSync("RGraph.common.context.js", "utf8");
response.write(script);
}
else if (pathname == "/RGraph.common.core.js")
{
script = fs.readFileSync("RGraph.common.core.js", "utf8");
response.write(script);
}
else if (pathname == "/RGraph.line.js")
{
script = fs.readFileSync("RGraph.line.js", "utf8");
response.write(script);
}
response.end();
});
server.listen(8000);
var io = require('socket.io');
// Create a Socket.IO instance, passing it our server
var socket = io.listen(server);
// Add a connect listener
socket.on('connection', function(client){
console.log('Le client s\'est connecté au serveur');
socketnavigateur = client;
socketBDD = client;
// Success! Now listen to messages to be received
client.on('message',function(event){
console.log('Réception du message du client =',event);
});
client.on('disconnect',function(){
//clearInterval(interval);
console.log('Le client s\'est déconnecté !');
});
});
//Java --> NodeJS communication
var javaPort = 8001;
var javaServer = require('net').createServer();
var WebSocketServer = require('ws').Server, wss = new WebSocketServer({port:90});
javaServer.on('listening', function(){
console.log('Le serveur est en ecoute sur ' + javaPort);
});
javaServer.on('close', function(){
console.log('Serveur fermé');
});
javaServer.on('connection', function (javaSocket){
var clientAddress = javaSocket.address().address + javaSocket.address().port;
console.log('Java ' + clientAddress + ' connected');
var DataListenner = function(data){
console.log('Received namespace from java End ' + data);
var convertdata = String.fromCharCode.apply(null, new Uint8Array(data));
socketnavigateur.send(convertdata);
};
javaSocket.on('data', DataListenner);
javaSocket.on('close', function(){
console.log('Java ' + clientAddress + ' disconnected');
});
});
javaServer.listen(javaPort);
//BDD connection
var connection = mysql.createConnection({
host: "192.168.1.90",
user: "mathias",
password: "projet",
database: "BDDconso"
});
connection.connect(function(error){
if(error){
console.log('Error');
}else{
console.log('Connected');
}
});
connection.query("SELECT * FROM Depassement", function(error, rows, fields){
if(error){
console.log('Erreur dans la requete');
}else{
console.log('Success');
console.log(rows);
}
});
Voici le code de mon serveur.
Si vous avez quelques pistes à me conseiller, je suis preneur J'ai bien sûr effectué des recherches, mais soit je n'arrivais pas à les exploiter soit ça ne concernait pas l'envoie des données vers le client.
Merci pour votre compréhension et l'attention que vous porterez à mon problème.
Quelqu'un n'aurais pas une solution ? N'hésitez pas à me demander plus d'informations
NodeJS + mysql
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.