effel: Einzelwerte über Nodeserver zum Client

Beitrag lesen

Hallo Rolf

aus dem selfhtml wiki habe ich das entnommen:

(Server-Implementierung mit node.js,Ein Zeitanzeigeservice)

import { WebSocketServer } from 'ws';

const socketServer = new WebSocketServer({ port:8443 });

setInterval(() => {
   const data = JSON.stringify({'type': 'time', 'time': new Date().toTimeString()});
   socketServer.clients.forEach((client) => {
      client.send(data);
   });
}, 1000);

statt import habe ich genommen:

const WebSocketServer = require('ws');

auch als ich bei import geblieben war, war das Ergebnis wie bei require

ich habe folgende module

"url": "^0.11.4", "ws": "^8.18.3" das habe ich aus C:\Users\Administrator\package.json genommen.
(in C:\Users\Administrator\node_modules sind ei mir die nodemodule gespeichert)

Sind noch aktuell?

Es stimmt, "new WebSocket" finde ich auch nicht im ws/lib.

Es wird websocket.js aus der ws/lib genommen und mit initAsClient(this, address, protocols, options);//zeile 86 function initAsClient gestartet

in Zeile 685 und 694 steht(ich habe meine Kommentare hinzugefügt):

  let parsedUrl;
  if (address instanceof URL) {  //adress ist kein Instanz von URL
    parsedUrl = address;
  } else {
    try {
      parsedUrl = new URL(address); //hier ist der Fehler
    } catch (e) {
  throw new SyntaxError(`Invalid URL: ${address}`);//das wird ausgegeben
    }
  }

Für address steht hier port:8443 und URL konnte das nicht verarbeiten.

es wird kein Websocket-Client erzeugt

Rolf, ich hoffe, daß ich jetzt alles richtig dargestellt habe.

Effel