2013-01-05 12 views
14

私は、Herokuでnode.jsとsocket.ioを使用しています。すべてがうまくいくようです。ただし、Chromeのデベロッパーバーでは、Unexpected response code: 503と表示されます。これが何を意味するのか誰にも分かりますか?私はそれについて心配すべきでしょうか?ブラウザでメモリを占有しますか?もしそうなら、私はそれを抑制することができますか?Chromeの「予期しない応答コード:503」おそらく、herokuのsocket.ioと関係がありますか?

+0

ここでエラーコードを見つけることができます:https://devcenter.heroku.com/articles/error-codes多分それはあなたを助けるでしょう。 –

+1

ウェブソケットを使用していますか?あなたは英雄ではできないから。その他の情報:https://devcenter.heroku.com/articles/using-socket-io-with-node-js-on-heroku –

答えて

27

ヘロクは、シーダースタックのウェブソケットをまだサポートしていません(いつでも言葉はありません)アップデート:以下を参照してください。 They recommendあなたSocket.ioの実装に次のコードを追加:

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

この理由は、Herokuのは、あなたのdynosの上に配線層を追加することです。あなたのコードはサーバ上で実行されますが、どのサーバになるかは決定的ではありません。したがって、WebSocketは「正しい」サーバーにデータを送信できません。 Socket.IOはロングポーリングにダウングレードし、ルーティング層を介して接続を維持し、イベントが正しいサーバー上で実行されるようにします。

更新日:Heroku WebSocketsがパブリックベータになりました!あなたのアプリディレクトリにheroku labs:enable websockets -a myappを実行することで、あなたのアプリにWSサポートを追加することができます。 2016年

HerokuののWebSocketをにグーグルから来た人のために

+4

私は更新された答えを使ってみました。しかし、私はそれを行うとき、私はまだ503エラーが発生します。私はカスタムドメインを使用しており、ws:// – Alexis

+0

のためにリダイレクトするようにDNSを設定しました。答えが言うように、まだベータです。この時点でHerokuのサポートに連絡するほうが良いでしょう。 – SomeKittens

+8

また503 –

3

は今、それらをオンにする必要がサポートされていません。 WebSockets on Heroku

ヘロクのログを確認してください。私は503のエラーがクロムで発生し、ログを確認した後、私のHerokuアプリがクラッシュしたことが判明しました。私のコードにバグがあり、応答しなくなった(socket.ioはまったく関係ありません)

コードが修正され、503が終了しました!

+1

コードを修正するためにあなたは何をしましたか?私のノードアプリはHerokuのcedar-14にあります。 'var ws = new WebSocket( 'ws://myapp.herokuapp.com');'を呼び出すときに、私はまだ '予期しない応答コード:503'を取得します。 – MobileDream

+1

あなたのバグはどういうもので、どうやって修正しましたか? – Jhn

関連する問題