4

私はこのチュートリアルに従っています:

http://net.tutsplus.com/tutorials/ruby/how-to-use-faye-as-a-real-time-push-server-in-rails/

Thin、faye をインストールし、faye.ru ファイルに次のように記述しました。

require 'faye'
bayeux = Faye::RackAdapter.new(:mount => '/faye', :timeout => 25)
bayeux.listen(9292)

しかし、ラックアップサーバーを起動すると:

rackup faye.ru -E production -s thin

サーバーは正しく起動します:

>> Thin web server (v1.5.0 codename Knife)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:9292, CTRL+C to stop

しかし、「http://localhost:9292/」などの Web ページにアクセスすると、次のメッセージが表示されます。

Sure you're not looking for /faye ?

そして、このチュートリアルも Ryan Bates rails cast #260 も、なぜこれが起こっているのかを説明していません。誰かがアイデアを持っていますか?

私のプロジェクトは ruby​​ バージョン 1.8.7 を使用していると言わざるを得ません (そして、私が使用している gem のいくつかはまだ 1.9 をサポートしていないため、1.9 にアップグレードすることはできません)。

4

3 に答える 3

5

わかりました、実際にはすべて正常に動作します。Faye が何をすべきか理解していませんでした。

Faye サーバーは Rails サーバーを置き換えるものではなく、Rails サーバーを補完するものです。localhost:3000 と localhost:9292 で同じことが起こると思っていました。

他の誰かが私のように混乱している場合に備えて、両方のサーバーを同時に実行する必要があります。

Rails サーバー :

 rails server [with your options if any]

JS チャネルを処理する Faye サーバー:

 rackup faye.ru -s thin -E production

また、ユーザーは Rails サーバーのみ (ポート 3000) とやり取りし、Faye サーバーはバックグラウンドで実行したままにします。

于 2012-12-10T14:39:23.580 に答える
2

ポート 3000 を使用することになっています (デフォルトのポートなどを変更していない限り)。9292はFayeだけに使用されています。

「http://localhost:3000」にアクセスしてみてください

于 2012-12-10T14:29:14.030 に答える
1

出力は私には良さそうです。

探してみてください

http://localhost:9292/faye.js

それ以外の

http://localhost:9292/
于 2014-02-10T13:12:43.597 に答える