Uberspace.de -> websocket (node) einrichten?

Gamer20

Lieutenant
Registriert
Dez. 2005
Beiträge
516
hallo leute!

ich bin zu doof, node.js mit websockets (socket.io) zum laufen zu bekommen.

1. ich habe meine dateien auf den server geladen
2. node.js ist bei mir installiert (V. 0.10.21) -> laut info per konsole


firebug meldet 2 fehler, wenn ich mich auf der webseite in den chat einlogge:

ReferenceError: io is not defined
var socket = io.connect('http://localhost:6100');

UND

TypeError: socket is undefined

... {socket.emit('new user', .....

in meiner chat.php binde ich socket.io ein:
<script src="http://localhost:6100/socket.io/socket.io.js"></script>

client.js:

var socket = io.connect('http://localhost:6100');

server.js (app.js oder wie man es nennen will):

var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')
, users = {}
, usersid = {};

app.listen(6100);


auf meinem laptop mit xampp läuft es, also programmierfehler ist es wohl nicht.

also nehme ich mal an, das node.js nicht läuft (der node server).
wie bekomme ich es hin das der läuft bzw. mein chat geht?

fummle seit 3 tagen dort rum und bekomme es nicht hin.

deshalb wäre ich über hilfe sehr dankbar.
 
ok support hatte ich das problem geschildert, aber die scheinen nicht selber zu programmieren und können mir wohl net direkt helfen (falls es nicht nur an dem port liegt).

aber ich vermute mal das es NUR daran liegen kann, wenn lokal alles klappt.

denn wenn ich node.js lokal nicht starte, kommen genau diese beiden fehler.

nur wenn ich den port nicht nutzen kann, müßte doch auch der fehler 404 kommen, das er socket.io (im node_modules ordner) nicht findet (z.b. wenn man die angabe des ports wegläst):

<script src="http://localhost/socket.io/socket.io.js"></script>

aber das scheint er zu finden.

kann ich mit der konsole bei uperspace testen, ob node.js korrekt läuft oder probleme macht? lokal auf meinem laptop ist das ja kein problem, da meine windowskonsole mir ja alles anzeigt.

ich hoffe der support schreibt zurück, sind schon 2 werktage vergangen (hoffe die haben nicht die schn... voll von mir :D).

besser wäre eine GUI, als alles direkt über altmodische mittel (konsole) eintippen zu müssen.
 
Problem 1:
Du bekommst Port 6100 nicht. Das ist so.

Problem 2:
HTML:
<script src="http://localhost:6100/socket.io/socket.io.js"></script>
Du versuchst, dass Script von localhost:6100 zu laden. localhost funktioniert selbstverständlich nur, wenn Du auf deinen eigenen Xampp zugreifst (dein lokaler Rechner ist localhost). Ich vermute mal, du möchtest eher sowas:
HTML:
<script src="/socket.io/socket.io.js"></script>
Das hat den Vorteil, dass er Hostname und Port direkt von der aktuell aufgerufenen Seite übernimmt.

Problemlösung:
  1. Lass dir vom uberspace-Support Team einen Port geben (das geht beispielsweise über Twitter innerhalb von ~30min)
  2. Ändere deine chat.php so ab, dass er die socket.io.js nicht mehr von localhost lädt, sondern vom aufgerufenen Server
  3. Ändere deine server.js so ab, dass sie auf deinen eigenen, frisch zugewiesenen Port bindet
  4. ???
  5. Profit.
 
ja danke, das habe ich heute früh soweit abgeändert (ich habe direkt die domain im php script angegeben).
port hatte ich gestern abend noch bekommen.
aber irgendwie war einiges an der serverconfig nicht korrekt.

auf jedenfall wurde alles neu gestartet und jetzt gehts (im moment zumindest).

danke für deine hilfe.
 
Oh je, nun ist es vermutlich zu spät.
Du hattest beim port einfach eine 0 vergessen.
Bei uberspace läuft der ganze Kram standardmässig auf 61000 oder Du rufst Jonas an, das der mehr Türchen aufmacht.
 
Zurück
Oben