1

首先,我已经看过:

faye ruby​​ 客户端不工作

我尝试了这些建议,但它仍然不适合我。

这是我的代码:

def broadcast(channel, data=nil, &block)
  return if Rails.env.test?

  if data.nil? && block_given?
    data = capture(&block)
  end

  client = Faye::Client.new(APP_CONFIG['faye_url'])
  client.publish(channel, data)
end

我尝试使用 Net::HTTP.post_form 并且服务器冻结,没有错误或警告或任何东西。我试过把它放到一个 EM.run 块中,但没有成功。我可以很好地使用 curl 发布到 Faye 并将其发送给订阅者,但由于某种原因,ruby 客户端无法正常工作。

我正在使用 faye-rails、ruby 1.9.3 和 rails 2.3.13。

服务器在 nginx 后面,我尝试了 ngnix ip/port 和瘦 ip/port。仍然没有工作。

它在开发中运行良好,只是在生产中不行。

更新:

我禁用了 WebSockets 和 EventSource 以强制它使用长轮询,因此它可以通过 ngnix 工作而不会出现任何错误。

它也作为机架中间件运行,因此它不需要任何额外的端口。

4

0 回答 0