首先,我已经看过了:
faye ruby client is not working
我尝试了这些建议,但它仍然不适合我。
继承我的代码:
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工作而没有任何错误。
它也作为机架中间件运行,因此不需要任何额外的端口。