Ich habe seit zwei Tagen gesucht, auf der Suche nach einer Lösung, die für mich arbeiten könnte. Leider habe ich nur Beispiele und Anleitungen zum Einrichten eines Websocket-Servers (der Nachrichten an Clients sendet) und eines Websocket-Clients (der sich im Browser befindet) eingerichtet. Nichts davon funktioniert wirklich für mich, und ich bin mir nicht sicher, wie ich hier erreichen soll, was ich will.NodeJS Websocket verwenden Variable in HTML (mit Express?)
Grundsätzlich habe ich folgendes websocket:
require('dotenv').config()
const WebSocket = require('ws');
var connection = new WebSocket('ws://XXX');
connection.onopen = function() {
connection.send(JSON.stringify({"authenticate":process.env.API}));
connection.send(JSON.stringify({"XXX":"YYY"}));
connection.send(JSON.stringify({
"db" : "unique_id",
"query" : {
"table" : "users"
}
}));
};
connection.onerror = function (error) {
console.log('WebSocket Error ' + error);
};
connection.onmessage = function (e) {
console.log('Server: ' + e.data);
var myResponse = JSON.parse(e.data);
var qList = myResponse.results;
};
Was ich tun möchte, ist meinen NodeJS-Skript ausgeführt wird, zum Beispiel einen Express-Skript mit einer HTML-Seite, die die Antwort von onmessage enthält auch. Warum ich dies verkompliziere, anstatt nur die Websocket-Client-Seite zu verwenden, ist, dass ich meinen Autorisierungscode nicht öffentlich senden kann.
Ich hoffe, ich war klar genug, lassen Sie es mich wissen, wenn Sie sich meiner Frage nicht sicher sind!
PS. Wenn Sie denken, ich wäre besser dran mit einem anderen Websocket-Skript wie Socket.io - ich habe sie angeschaut und bin nicht viel klüger geworden.
Ich habe eine Menge Arbeit mit WS-Server-Client-Implementierung (hat diese automatische Gebots Programm) getan, aber ich bin mir nicht sicher, wo das Programm fehlschlägt. Was stimmt nicht mit dem, was du getan hast? –
Gibt es einen Grund, warum Ihr Datenbankserver nur über Websockets kommuniziert? – gregnr
@gregnr Er benutzt seinen Server als Client, um sich über Web-Sockets mit einem Dritten zu verbinden. –