Node.js ws и mysql
Я начинаю приключение с webSockets прямо сейчас, и я бы хотел помочь мне.
У меня есть основной вопрос, но я не могу решить его самостоятельно:(
У меня есть сервер WebSocket(ws) из Node.js и запрос MySQL. Я вижу результаты запроса на консоли, но не на стороне клиента.
SERVER.JS
const WebSocket = require('ws');
var mysql = require('mysql');
const wss = new WebSocket.Server({ port: 3000 });
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "root",
database: 'db'
});
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
con.query("SELECT * FROM hardware;", function (err, result) {
if (err) throw err;
ws.send(result); //???????????????
console.log("Result: " + JSON.stringify(result));
});
});
ws.send('something');
//ws.send(JSON.stringify({topic:'test', data:'tst2'}));
});
и на стороне клиента index.html
<!DOCTYPE html>
<html>
<body>
<div id="demo">
<button type="button" onclick="getSql()">GET</button>
</div>
<script>
function getSql() {
var sock = new WebSocket("ws://localhost:3000");
sock.onopen = function(event) {
alert("socket ok");
setTimeout(function() {
sock.send("hey");
}, 1000);
};
sock.onmessage = function(event) {
console.log(event);
if (event.data) {
console.log(event.data);
}
}
}
</script>
</body>
</html>
я хочу получить результаты SQL-запроса, но я всегда получаю нулевое значение.
Не могли бы вы помочь мне решить мой основной пример?
Примеры от:
https://www.w3schools.com/nodejs/nodejs_mysql_select.asp
https://www.npmjs.com/package/ws
Спасибо в Advne и С уважением.