Antwort an „effel“ verfassen

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

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen