Websocket-Rails 和 IE 8

Posted

技术标签:

【中文标题】Websocket-Rails 和 IE 8【英文标题】:Websocket-Rails and IE 8 【发布时间】:2014-05-29 18:20:38 【问题描述】:

我正在使用websocket-rails gem 开发一个实时聊天应用程序,但在 Internet Explorer 8 中获取实时更新时遇到了困难。

在初始化器底部有一个选项可以启用 IE8/9 与启用 CORS 的兼容性:

  # Supporting HTTP streaming on Internet Explorer versions 8 & 9
  # requires CORS to be enabled for GET "/websocket" request.
  # List here the origin domains allowed to perform the request.
  config.allowed_origins = ['http://localhost:3000']

我已启用此功能进行开发,但它的工作非常零星且不可预测。我能够让一条消息出现一次或两次,但从未始终如一,并且此后无法再次创建它。

有没有人有让 websocket-rails 和 IE 工作的经验?提前致谢。

【问题讨论】:

我最近做了一些类似的工作,并且必须编写一个中间件来篡夺IE8到IE10的调用并重写它们以形成正确的CORS语句。它可能有助于创建一个中间件,在其中添加一个调试器,然后查看试图通过什么,以及为什么它会失败。 【参考方案1】:

你可以试试WebSocketJS, a polyfill for WebSocket

我宁愿使用 polyfill 来建立一个套接字连接,尝试使用 HTTP 请求来模拟一个。

【讨论】:

以上是关于Websocket-Rails 和 IE 8的主要内容,如果未能解决你的问题,请参考以下文章

gem“websocket-rails”及其可扩展性

Rails 4 + Websocket-rails + Passenger + Nginx + 负载均衡器

无法在生产服务器上为 websocket-rails 启动独立服务器

websocket-rails 在生产中没有连接

websocket-rails:服务器发出 http:// 协议;客户端期望 ws:// 协议

乘客中的重复事件,在 websocket-rails 中