我正在开始使用websocket-rails,尝试将旧的轮询系统(基于Ruby 2.1/Rails 4.0)转换为更现代的WS通知系统。 我正在使用WebsocketRails独立模式,在这里是我的配置,基本上是默认的:
WebsocketRails.setup do |config|
config.standalone = true
end
我还设置了一个运行在默认端口上的新的Redis - 这里似乎没有通信问题。
在客户端,我已经添加了websocket-rails的JS代码,当尝试打开连接并订阅一个频道时,使用以下方式:
@dispatcher = new WebSocketRails "localhost:3001/websocket"
@channel = @dispatcher.subscribe "notifications"
我在Chrome控制台中看到一个错误:
WebSocket connection to 'ws://localhost:3001/websocket' failed: Invalid frame header
在 Firefox 中,错误不同但仍然是一个错误:
The connection to ws://localhost:3001/websocket was interrupted while the page was loading.
从websocket服务器日志中,我可以看到已经建立了一条连接,但是该连接随后被断开,尽管日志级别为“debug”,但没有其他日志记录...我没有发现其他错误,并且简单的谷歌搜索也没有找到任何关于“invalid frame header”的信息,所以我卡住了。
如果有任何帮助,将不胜感激!
编辑:最终我使用NodeJS+Faye使事情前进了,并且它一直工作得很好,我很高兴在系统中引入这个新的移动部分。 我确信问题只是基于我的特定设置而出现的暂时性问题,但有时候,你只需要完成任务。