私はアプリでリアルタイムに情報をプッシュするためにCrampで遊んでいました。そのすべてはローカルで素晴らしい仕事ですが、私がヒロクに追いつくと、私はポートに問題があるようです。Cramp and heroku
私はWebSocketを
class LiveSocket < Cramp::Websocket
から継承けいれんで設定したソケットを持っているし、私も基本的には、ホームページで
class HomeAction < Cramp::Action
のためのいくつかのERBをレンダリングホームと呼ばれるけいれん作用を有します私のルートファイル私は以下のファイルセットと静的ファイルサーバを設定しました
Rack::Builder.new do
puts "public file at #{File.join(File.dirname(__FILE__), '../public')}"
file_server = Rack::File.new(File.join(File.dirname(__FILE__), 'public'))
routes = HttpRouter.new do
add('/').to(HomeAction)
get('/LiveSocket').to(LiveSocket)
end
run Rack::Cascade.new([file_server, routes])
end
次にクライアントが終了すると、JavaScriptが接続されます
var ws = new WebSocket("ws://<%= request.host_with_port %>/LiveSocket");
私はローカルですべてそうです。サーバーに接続して通知を受信し始めます。 Herokuの上で私たちは、シーダー・スタック上に薄い実行すると、私は、サイト自体が細かいロードページをロードすると
web: bundle exec thin --timeout 0 start -p $PORT
のように見えるのプロファイルを持っていますが、私は
を言うエラーが出るのWebSocketを接続しようとするにservername.herokuapp.com Unexpected response code: 200
これは、herokuがリクエストをどのようにルーティングするかとは関係がありますが、私はheroku上でnode.js websocketサーバーを実行できることを知っています。
ご協力いただきありがとうございます。
歓声
スチュアート
ああ井戸をサポートしていないと思う。私は、そのページで100回を見つめていなければならないと気づいたことがない。I私がクライアント側でsocketIOを設定していれば、私は長いポーリングに落ちるかもしれません。 –