Socket.io 1.0 + Express 4.2 = keine Socket-Verbindung

7

Wie im Titel angegeben, versuche ich, socket.io 1.0.4 mit Express 4.2 zu verwenden, und alle /?EIO -Anforderungen geben 404 zurück.

Nachstehend sind meine Dateien:

./ bin / www:

%Vor%

./ app.js:

%Vor%     
joao Beno 14.06.2014, 17:28
quelle

2 Antworten

2

Also, ein Jahr später, und mehr Knotenstudien später, fand ich, dass die vorherige Antwort ziemlich unvollständig ist und zu einer suboptimalen Verwendung von Express führen kann. Dies ist der korrekte Ansatz, um Node + Express + Socket.io ohne Probleme zu verwenden:

Ersetzen Sie auf /bin/www.js var http = require('http'); durch var server = require('http').Server(app); und entfernen Sie var server = http.createServer(app);

Und das ist es ... Benutze deine Routen normalerweise, platziere Chats überall, keine Probleme mehr.

Hinweis : Ich habe die alte Antwort unbearbeitet gelassen, um Kommentare und solche relevanten und den Kontext zu erhalten.

    
joao Beno 08.11.2015, 16:43
quelle
16

Ich habe mit meinen Dateien mehr herumgespielt und es zur Arbeit gebracht, hier habe ich es zum Laufen gebracht:

./ bin / www: Sie müssen die Anforderung app.js beibehalten oder sie wird nicht funktionieren.

%Vor%

./ app.js: Alles was auf www war, geht hier vor dem letzten Export.

%Vor%

Ich habe den Express-Generator verwendet, um das Projekt zu erstellen, deaktivierte die Routen, da Socket.io anscheinend keine Express-Routen unterstützt.

    
joao Beno 14.06.2014 18:18
quelle