2013-01-05 13 views
14

Heroku'da node.js ile socket.io kullanıyorum. Her şey işe yarıyor gibi görünüyor. Ancak, Chrome dev çubuğunda, Unexpected response code: 503 olsun. Bunun ne anlama geldiğini bilen var mı? Bu konuda endişelenmeli miyim? Tarayıcıda belleği mi alacak? Ve eğer öyleyse, onu bastırabilir miyim?Chrome'da "Beklenmeyen yanıt kodu: 503". Belki de heroku üzerinde socket.io ile yapmak zorunda?

+0

Hata kodunu burada bulabilirsiniz: https://devcenter.heroku.com/articles/error-codes belki size yardımcı olacaktır. –

+1

Websockets kullanıyor musunuz? Çünkü sen kahramanın üstünde olamazsın. Burada daha fazla bilgi: https://devcenter.heroku.com/articles/using-socket-io-with-node-js-on-heroku –

cevap

27

Heroku, Cedar yığındaki web-yuvalarını henüz desteklemiyor (ne zaman başlayacakları hakkında bir haber yok) Güncelleme: aşağıya bakın. They recommend sizin Socket.io uygulanması için aşağıdaki kodu ekleyerek:

// assuming io is the Socket.IO server object 
io.configure(function() { 
    io.set("transports", ["xhr-polling"]); 
    io.set("polling duration", 10); 
}); 

Bunun nedeni Heroku sizin dinamometre üstüne bir yönlendirme katmanı ekler olmasıdır. Kodunuz sunucusunda çalıştırılacak, ancak hangi sunucuya ait olacağı belirsizdir. Böylece, WebSockets "doğru" sunucuya veri gönderemez. Socket.IO, bağlantıların doğru bir şekilde sunucu üzerinde yürütülmesini sağlayarak, bağlantıyı yönlendirme katmanı boyunca canlı tutan uzun sorgulamaya geçecektir.

GÜNCELLEMEK: Heroku WebSockets artık beta sürümde! Uygulama dizininize heroku labs:enable websockets -a myapp dosyasını uygulayarak uygulamanıza WS desteği ekleyebilirsiniz. 2016

Heroku WebSockets içinde google gelen insanlar için

+4

Güncellenmiş olan cevabı kullanmayı denedim. Ancak, yaptığımda hala 503 hatası alıyorum. Özel bir etki alanı kullanıyorum ve DNS'yi ws için yeniden yönlendirecek şekilde yapılandırdım: // – Alexis

+0

Yanıtın söylediği gibi, hala beta. Bu noktada Heroku desteğiyle iletişime geçmek daha iyi olur. – SomeKittens

+8

Ayrıca, 503 –

3

şimdi, bunları açmak gerek desteklenmektedir. WebSockets on Heroku

Günlüklerinizi Heroku'da kontrol ettiğinizden emin olun. Chrome'da 503 hatası olduğunu ve günlükleri kontrol ettikten sonra, Heroku uygulamasının çöktüğünü fark ettim. Kodumda bir hata oluştu (yanıtı vermemeye neden oldu) (soket.io ile ilgili değil)

Kodu düzeltildi ve 503 gitti!

+1

Kodu düzeltmek için ne yaptınız? Düğüm uygulamam Heroku'nun sedir-14'ünde. Hala "beklenmedik cevap kodu: 503", "ws = new WebSocket ('ws: //myapp.herokuapp.com'); – MobileDream

+1

Hatanız tam olarak nedir ve nasıl düzelttiniz? – Jhn

İlgili konular