• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Websockets - keine Ahnung

huberlix

New member
Da mein "Server Sent Events" nicht funktioniert, würde ich gerne auf Websockets umsteigen. (Hier mein Problem mit SSE).

Bin jetzt schon 2 Tage am Googlen und hab keinen Plan, wie ich losegen soll. Man findet immer wieder die selben Codeschnipsel, wie man die Connection herstellt, bzw sendet.
Man braucht einen Websocket-Server, aber da geht irgendwie keiner drauf ein. Immer wieder stosse ich auf Node.js, aber nachdem ich erst angefangen habe mit JS, JQuery,PHP und HTML5, will ich nicht nochwas neues anfangen.
Scheinbar gibts fertige WS-Server. Aber welcher ist der richtige/für mich verwendbare. Wie installiere ich den? Muss dann der Code für die Client-Server communication in dem Server umgesetzt werden? Oder wieder in ner eigenen PHP?

Wie ihr seht, ich hab null Plan, und kriegs auch nicht per Google, weil ich gar nicht weiß wie ich anfangen soll.

Hat jemand ein kleines Tutorial mit nem Beispielprogramm (Muss nur irgendwas zum server senden, und wieder an alle Clients verteilen).
So nach dem Motto: Downloade den Server "XY", installiere ihn auf die und die Weise, schreib ein php zur kommunikation usw

Einfach für Dummies. Hab mich in die anderen Themen ganz gut selbst einarbeiten können, aber in die WS komm ich einfach nicht rein.
 
Also, da ich nicht weiterkomme, hab ich mir einfach mal node.js installiert.
Dann hab ich von einem Tutorial folgende "app.js" erstellt
Code:
'use strict';
const http=require('http');
const express=require('express');
const ws=require('ws');
const app=express();
app.get('/',(req,res)=>{
  res.send('Hallo über HTTP!');
});
const server=http.createServer();
server.listen(3000,() =>{
console.log('Server is running on Port 3000...');
});
in dem Tut wird diese unter node.js/node_modules gespeichert. Geht bei mir nicht, keine Berechtigung! (Windows10)

Also hab ich diese einfach mal unter D:\ gespeichert.

Danach in der node Console:
npm install ws
und
npm install express
Dann D:\>node d:app.js
Antwort:Server is running on Port 3000...

wenn ich dann im Browser "localhost:3000" eingebe, geht gar nix.
Ihr seht, an den einfachsten Dingen scheitere ich schon. Was mache ich falsch?
 
Ja, das (app) hat gefehlt. Da ich noch keine Ahnung hab, bin ich nur am abtippen.
Jetzt läuft Localhost.
Aber ich habe keine Ahnung, wie ich das ganze online bringe.
Hier mal das komplette Beispiel der "app.js", welches ich benutzt habe.
Code:
'use strict';
const http=require('http');
const express=require('express');
const ws=require('ws');
const app=express();
app.get('/',(req,res)=>{
  res.send('Hallo über HTTP!');
});
const server=http.createServer(app);
const wsServer=new ws.Server({server});
wsServer.on('connection', socket =>{
  socket.on('message', data =>{
    const message=JSON.parse(data);
     socket.send(message);
  });
});
server.listen(3000,() =>{
console.log('Server is running on Port 3000...');
});

Ist das nun der WS-Server??
Ich hab das jetzt nur auf "d:\" gespeichert. Und rufe die app mit "D:\>node d:app.js" auf. Teste das ganze im Browser mit "localhost:3000"
Wie kann ich das ganze online benutzen? Alle Tuts laufen immer nur mit localhost!
Muss ich diese app.js hochladen? Und wie dann weiter?

Ich erstelle meine Webapp mit Dreamweaver. Und nun websockets mit node.js.
Kann ich das überhaupt dann in mein Projekt in Dreamweaver einbauen? Keine Ahnung, ob ihr versteht was ich meine. Im Moment muss ich die app.js per node starten. wie ist das später in meinem normalen js-projekt in DW?
 
Zuletzt bearbeitet:
Wie kann ich das ganze online benutzen?
Du brauchst einen Webhoster, der nodejs zur Verfügung stellt oder einen selbst verwalteten Webserver, auf dem du es installieren kannst.

Dreamweaver hat jetzt erst mal nichts mit node zu tun - muss es aber auch nicht. Ist ja nur eine Entwicklungsumgebung.
 
Welches WS-Project das richtige für dich ist kann man nicht sagen. Du kannst PHP verwenden, oder Node.

Ich schwanke da auch noch -.-

[zitat]Wie kann ich das ganze online benutzen? Alle Tuts laufen immer nur mit localhost![/zitat]

Lade es auf deinen Webspace hoch, starte den WS. Die Meisten Hoster die sowas anbieten, haben gute Tuts wie man sowas bei denen realisiert.

Grundlegend solltest du das Ding aber weiter testen! Dazu solltest du deine Hosts-Datei bearbeiten.

Editor mit Admin-Rechten öffnen, irgendwo ist ein Ordner der etc heißt, da gibt es eine Datei "hosts" (ohne Dateiendung). Darin eine fiktive Webadresse notieren (127.0.0.1 www.meineseite.dev).

Danach den XAMPP (ich nehme an du nutzt einen?) so konfigurieren, dass du über www.meineseite.dev auf das entsprechende Verzeichnis geleitet wirst. Die entsprechende Conf. kann dann Direktiven enthalten wie und wo der WS zu erreichen ist.
 
Zuletzt bearbeitet:
Zurück
Oben