Ankündigung

Einklappen
Keine Ankündigung bisher.

io.connect is not a function

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • io.connect is not a function

    Hallo,

    ich habe folgendes Problem:

    Ich möchte einen Chat erstellen per Websocket und socket.io.

    Folgende Dateien habe ich:

    index.html

    PHP-Code:
    <ul id="chat"></ul
    <
    input type="text" placeholder="chatte" id="text"
    <
    button id="send">senden</button>
    <
    script src="/socket.io/socket.io.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

    <script> 
    $(function(){ 
    var eingabe = $('#send'); 
    var text = $('#text'); 
    var ausgabe = $('#chat'); 
      var socket = io.connect('http://localhost:80/'); 
      socket.on('connect', function () { 
       
    eingabe.on('click',function(){ 
      socket.send(text.text()); 
    }); 
        socket.on('message', function (msg) { 
         ausgabe.append('<li>'+msg+'</li>'); 
        }); 
      }); 
    }) 
    </script> 
    server.js

    PHP-Code:
    var io = require('socket.io').listen(80); 

    io.sockets.on('connection', function (socket) { 
      
    socket.on('message', function () { }); 
      
    socket.on('disconnect', function () { }); 
    }); 
    Dann habe ich auf meinem Server(Ubuntu) node.js installiert. Dazu npm und logischerweise auch socket.io. Dazu habe ich noch forever installiert. Es sind auch noch ein paar andere Scripte installiert(express, require, usw) aber ich denke mal das ist nicht von bedeutung.

    Ich starte den Server also nun mit dem Befehl:

    Code:
    forever start server.js
    Es kommt auch die Meldung das server.js gestartet wurde und nun erreichbar ist.

    Wenn ich nun aber auf den Clienten wechsel, sagt er mir jedesmal

    "io.connect is not a function"

    Ich habe gar keinen Plan wodran das liegen kann.

    Ich habe Spaßigshalber auch mal den Code

    PHP-Code:
    <script src="/socket.io/socket.io.js"></script> 
    aus der index.html entfernt. Dann bekomme ich die Fehlermeldung:

    "io is not a function"

    Das sagt mir wiederum das die Zeile

    PHP-Code:
    <script src="/socket.io/socket.io.js"></script> 
    richtig ist und auch "erkannt" wird.

    Ich habe auch schon versucht den server mit node zu starten, aber da passiert auch nichts anderes.

    Weis jemand wodran es liegen könnte das er io.connect nicht findet?

    Edit: Habe ich vergessen zu erwähnen:

    Ich habe es auch schon mit

    PHP-Code:
    <script src="http://cdn.socket.io/stable/socket.io.js"></script> 
    versucht->gleicher Fehler.

  • #2
    Ich hab jetzt einen "normalen" Websocket installiert(ws). Das klappt einwandfrei. Allerdings funktioniert der in einigen Browsern nicht(z.B Android Standart Browser).

    Hat jemand vielleicht eine Idee? Solangsam verzweifel ich hier...

    Kommentar

    Lädt...
    X