Sto usando socket.io con node.js su Heroku. Tutto sembra funzionare. Tuttavia, nella barra di sviluppo di Chrome, ottengo Unexpected response code: 503
. Qualcuno sa cosa potrebbe significare? Dovrei essere preoccupato per questo? Occuperà memoria nel browser? E se sì, posso sopprimerlo?"Codice di risposta inaspettato: 503" in Chrome. Forse avere a che fare con socket.io su heroku?
risposta
Heroku "non supporta" websockets sullo stack Cedar ancora (nessuna parola su quando lo saranno) Aggiornamento: vedere di seguito. They recommend aggiungendo il seguente codice per l'implementazione Socket.io:
// assuming io is the Socket.IO server object
io.configure(function() {
io.set("transports", ["xhr-polling"]);
io.set("polling duration", 10);
});
La ragione di questo è che Heroku aggiunge un livello di routing in cima ai vostri lanci. Il tuo codice verrà eseguito su un server, ma non è deterministico su quale server sarà. Pertanto, WebSockets non può inviare dati al server "corretto". Socket.IO eseguirà il downgrade a polling lungo, che mantiene attiva la connessione attraverso il livello di routing, assicurando che gli eventi vengano eseguiti sul server corretto.
AGGIORNAMENTO: Heroku WebSockets è ora in versione beta pubblica! Puoi aggiungere il supporto WS alla tua app eseguendo heroku labs:enable websockets -a myapp
nella directory dell'app.
Ho provato a utilizzare la risposta aggiornata. Tuttavia, quando lo faccio ho ancora un errore 503. Sto usando un dominio personalizzato e ho configurato il DNS per reindirizzare per ws: // – Alexis
Come dice la risposta, è ancora beta. Faresti meglio a contattare il supporto di Heroku a questo punto. – SomeKittens
Anche ottenere il 503 –
Per le persone provenienti da Google nel 2016.
WebSockets Heroku sono ora supportati, non c'è bisogno di accenderli. WebSockets on Heroku
Assicurati di controllare i tuoi registri su Heroku. Ho notato che l'errore 503 si verifica in chrome e dopo aver controllato i log, ho scoperto che la mia app di Heroku si era bloccata. C'è stato un bug nel mio codice che ha causato il mancato funzionamento (non collegato a socket.io)
Risolto il codice e 503 se ne andava!
Cosa hai fatto per correggere il codice? La mia app per i nodi è sul cedro di Heroku-14. Ricevo ancora il 'Codice di risposta imprevisto: 503' quando si chiama' var ws = new WebSocket ('ws: //myapp.herokuapp.com'); '. – MobileDream
Che cosa è esattamente il tuo bug e come lo hai risolto? – Jhn
È possibile trovare il codice degli errori qui: https://devcenter.heroku.com/articles/error-codes forse ti aiuterà. –
Stai usando websocket? Perché non puoi su heroku. Ulteriori informazioni qui: https://devcenter.heroku.com/articles/using-socket-io-with-node-js-on-heroku –