I just got my faye and rails apps hosted on heroku, chatting for the last hour or so ... here are my observations:
Make sure your FAYE_TOKEN is installed on all your servers if you use the env variable.
Disabling the websites that you have already done ... client.disable(...)does not work for me, I used it instead Faye.Transport.WebSocket.isUsable = function(_,c) { c(false) }.
, ... dev, , , faye... , -, . , broadcast_server_uri application_controller.rb, , , -, .
....
class ApplicationController < ActionController::Base
def broadcast_server
if request.port.to_i != 80
"http://my-faye-server.herokuapp.com:80/faye"
else
"http://my-faye-server.herokuapp.com/faye"
end
end
helper_method :broadcast_server
def broadcast_message(channel, data)
message = { :ext => {:auth_token => FAYE_TOKEN}, :channel => channel, :data => data}
uri = URI.parse(broadcast_server)
Net::HTTP.post_form(uri, :message => message.to_json)
end
end
javascript,
<script>
var broadcast_server = "<%= broadcast_server %>"
var faye;
$(function() {
faye = new Faye.Client(broadcast_server);
faye.setHeader('Access-Control-Allow-Origin', '*');
faye.connect();
Faye.Transport.WebSocket.isUsable = function(_,c) { c(false) }
});
</script>
FWIW, Access-Control-Allow-Origin, , , - XMLHttpRequest cannot load http://... , , . ( ...)