Node.js ws и mysql - PullRequest
       13

Node.js ws и mysql

0 голосов
/ 09 февраля 2019

Я начинаю приключение с 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'}));
});

и клиентside 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 и С уважением.

...