2013-01-05 10 views
14

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?

+0

È possibile trovare il codice degli errori qui: https://devcenter.heroku.com/articles/error-codes forse ti aiuterà. –

+1

Stai usando websocket? Perché non puoi su heroku. Ulteriori informazioni qui: https://devcenter.heroku.com/articles/using-socket-io-with-node-js-on-heroku –

risposta

27

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.

+4

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

+0

Come dice la risposta, è ancora beta. Faresti meglio a contattare il supporto di Heroku a questo punto. – SomeKittens

+8

Anche ottenere il 503 –

3

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!

+1

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

+1

Che cosa è esattamente il tuo bug e come lo hai risolto? – Jhn

Problemi correlati