我在现有的RoR应用中使用websocket-rails
(https://github.com/websocket-rails/websocket-rails)gem添加了聊天功能,并且我在Heroku上以生产模式测试它。
它在localhost中工作正常,但是当我将它发送到Heroku时,它在连接后没有从服务器接收任何进一步的消息。
连接有效:
var WEBSOCKET_URL = 'myapponheroku.herokuapp.com/websocket'
var dispatcher = new WebSocketRails(WEBSOCKET_URL);
dispatcher.on_open = function(data) {
console.log('Connection has been established: ', data);
};
我看到了反馈信息。
但第一项任务是在聊天中询问服务器是否有活动房间。我注意到什么都没有回来。我在服务器的操作中添加了一些反馈消息,这些消息应该执行第一个任务,但不会到达任何一个任务。我实现的反馈是一对简单的函数,只返回一个对象并将其打印到控制台:
的Javascript
dispatcher.bind('feedback',function(data){
console.log(data);
});
红宝石
def feedback data
send_message :feedback, {data: data}
end
永远不会被触发。有任何想法吗?是否必须在Heroku上进行特殊配置才能使其正常工作?
@Update
在我托管在AWS上的实时服务器上出现相同的错误。 已建立连接,但不会从服务器返回任何内容。
@ UPDATE2
我编写了一些代码,因此应用程序会在建立连接时写入一些文件,当它要求打开房间时,就在开头,并且文件没有创建。行动甚至没有被召唤。