Ich habe seit ein paar Wochen damit zu kämpfen, über API -Dokumentation für WS und Node geprägt und ich habe das Gefühl, alles versucht zu haben. Ich habe einen WebSocket-Server eingerichtet: < /p>
var app = require('../app');
var debug = require('debug')('ohoapp:server');
var http = require('http');
var { WebSocketServer } = require('ws');
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
var wss = new WebSocketServer({ server: server, clientTracking: true, host: "openheroodyssey.com" });
wss.on('listening', () => {
console.log('WebSocket Server listening on port ' + wss.address().port.toString());
console.log("WS address: " + wss.address().address);
console.log("WS family: " + wss.address().family);
});
wss.on('connection', (socket, req) => {
console.log("connection established");
socket.send("Connection established!");
socket.on('message', (message, isBinary) => {
wss.clients.forEach((client) => {
if(client.readyState === ws.OPEN && ws !== client){
client.send(msg, { binary: isBinary });
}
});
console.log(message)
});
socket.on('close', () => {
console.log('connection closed');
});
});
server.on('error', onError);
server.on('listening', onListening);
server.listen(port, () => {console.log("HTTP/S server listening on port: " + port.toString());});
function normalizePort(val) {
var port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}< /code>
< /div>
< /div>
< /p>
Wichtiger Hinweis; Über die Konsole kann ich die Server -Hörmeldungen (Konsolenprotokolle) sehen und der Port wird vom Konsolenprotokoll angezeigt. Was mich ärgert (und kann Teil meines Problems sein), ist, dass die Adresse aus irgendeinem Grund nicht angezeigt wird. Ich habe versucht, meine Site-URL zu kodieren, um den Server zu binden, aber es funktioniert immer noch nicht (bevor ich versucht habe, über die Host-Eigenschaft zu binden). Ein Ausschnitt aus dem, was ich auf der Konsole bekomme: < /p>
2025-02-13 19:52:31 Standard [20250213t194835] WebSocket Server, das auf Port 8081
2025-02-13 hört 19:52:31 Standard [20250213t194835] WS-Adresse: ::
2025-02-13 19:52:31 Standard [20250213t194835] WS-Familie: IPv6 < /p>
Ich hatte ursprünglich ursprünglich die Familie WS: a .ToString () am Ende der Konsole.log, in der die Adresse angezeigt wird, aber ich habe das als Teil der Fehlerbehebung herausgenommen, ohne Erfolg (die Ausgabe ändert sich nicht) < /p>
Ich benutze Postman und auch WebSocketking, um die Verbindung zu testen, wobei verschiedene Arten verwendet werden (WSS: //www.openheroodyssey.com: 8081 Basi , ohne die Portnummer [die ich nicht erwartet hatte; Ich mache falsch? Jede Hilfe wäre sehr geschätzt.
Versuchen Sie, die Websockets -Verbindung in node.js einzurichten, und können Sie keine Verbindung zum Server herstellen ⇐ JavaScript
-
- Similar Topics
- Replies
- Views
- Last post