Website mit Node.js (Socket.IO)?
Hallo,
ich kenne mich leider nicht sehr gut mit Webseiten und so aus und mache erst seit ungefähr zwei bis drei Jahren eine Webseite für mich privat.
Ich wollte jetzt Node.js-Sachen versuchen und wollte mit Socket.IO einen sehr einfachen Chat erstellen. Meine Webseite an sich habe ich auf einem Webspace von IONOS. Damit ich Node.js nutzen kann, habe ich einen VPS, den ich mit Subdomain ansprechen kann.
Ein Test dazu hat auch prima funktioniert, aber Socket.IO funktioniert nicht egal, was ich versuche. Es kommt immer 404 auf der Webseite und 400 auf dem VPS. Hätte jemand eventuell eine Lösung?
PS.: Wenn genauere Daten gebraucht werden, werde ich diese schnellstmöglich nachreichen.
2 Antworten
Socket.io erwartet, von derselben Domain bzw. demselben Host, von dem auch die Webseite geladen wird, geladen zu werden. Alle Verbindungen und Sockets müssen mit demselben Host geöffnet werden, da es sich dabei um eine serverseitige Schnittstelle handelt.
In deinem Code für Socket.IO sollte der Client (also die Webseite) unbedingt von demselben Host geladen werden, auf dem auch dein Socket-Server läuft:
```javascript const socket = io("http://dein-socket-io-host:port"); ```
Überprüfe auch in den Network-Tools deines Browsers, unter welchem Pfad und Port socket.io/stream-x abgerufen wurde. Das muss mit dem Port übereinstimmen, auf dem dein Socket-Server läuft.
Firewall richtig eingestellt? Reverse Proxy richtig eingestellt? (Falls vorhanden) (404er Code) Browser logs ansehen, manchmal werden Sockets von einer Firewall am Client blokiert. CORS bei unterschiedlichen Hosts. Richtige Pakete installiert, fehlende Abhängigkeiten? Client auf senden der korrekten Daten kontrolieren (400er Code).