Quindi sto provando a utilizzare l'applicazione heroku di esempio: https://github.com/lstoll/socket-io-chat-heroku come modello per creare la mia propria applicazione socket.io, ma sono in esecuzione su Express 4.0, Nodo 0.10.x e Socket.io 0.9.16.Heroku socket.io errore di esempio in Express 4.0
Ora il problema è che quando ho eseguito il mio server, tutto va bene, ma quando ho eseguito il mio cliente, ottengo il seguente errore:
Uncaught ReferenceError: require is not defined socket.io.js:12
Uncaught ReferenceError: io is not defined chat2:2
mio codice del server in questione è la seguente:
var app = express();
var http = require('http');
var server = http.createServer(app);
var sio = require('socket.io');
var port = 3000 || process.env.PORT;
server.listen(port);
var io = sio.listen(server);
io.sockets.on('connection'), function(socket) {
...
});
Sul mio lato client, ho il seguente: ho provato sia (questo è in giada, tra l'altro):
script(src='/socket.io/socket.io.js') OR script(src='http://localhost:3000/socket.io/socket.io.js')
var socket = io.connect() OR var socket = io.connect('http://localhost:3000')
Nessuna di queste opzioni ha funzionato, causando sempre un errore sul lato client. C'è qualcosa di speciale da fare per Express 4.0? Ho fatto una domanda molto simile qui: Node.js /socket.io/socket.io.js not found express 4.0 ma questo è un altro tentativo di far funzionare la chat con un modello diverso.
Aggiornamento e modifica: dopo un po 'di lavoro, sono stato in grado di distribuire un'app di heroku utilizzando express 4.0 e socket.io, al numero: http://salty-escarpment-7398.herokuapp.com/chat.
Il problema ora è di integrare nuovamente dentro il mio attuale applicazione, e dopo tanto lavoro, io ora sto ottenendo un errore:
22:19:56 web.1 | GET /socket.io/?EIO=2&transport=polling 404 26ms - 1.67kb
22:19:59 web.1 | GET /socket.io/?EIO=2&transport=polling 404 25ms - 1.67kb
ho:
io.set('transports', ['xhr-polling']);
io.set('polling duration', 10);
Per impostarlo su xhr-polling, e il mio codice server è praticamente identico a quello che c'era sopra. La pagina si carica, però, ed è solo quando si tenta di inviare una chat che non accade nulla e 404 inizia a comparire.
Grazie
Avete trovato una soluzione per gli errori 404 con '/socket.io/?EIO=2 ...'? – JVE999