【问题标题】:Websocket fails in FirefoxWebsocket 在 Firefox 中失败
【发布时间】:2015-10-16 03:00:03
【问题描述】:

我在 iOS 上使用PocketSocket 作为 LAN WebSocket 服务器(在端口 8080 上),并使用 javascript 连接到它。

这里是javascript代码:

var address = 'ws://' + window.location.host + ':8080/ws';
client = new WebSocket( address );

我已经使用闲置的浏览器测试了连接: Chrome(Windows 和 OS X)、Safari(OS X 和 iPhone)、Opera (Windows)、Android 浏览器、松下电视上的浏览器。

唯一失败的浏览器是 Firefox(Windows 和 OS X)。我已经尝试过从 5 到 40 的多个版本的 Firefox。我也尝试过使用 MozWebSocket,但无济于事。

我得到的错误是:

    Firefox can't establish a connection to the server at ws://192.168.0.100:8080/ws.

    The connection to ws://192.168.0.100:8080/ws was interrupted while the page was loading.

Firefox 与其他浏览器有什么不同? 你有什么建议吗?

【问题讨论】:

  • 在这种情况下,当在 Firefox 上刷新页面时,Websocket 会中断,在我的情况下,Websocket 根本没有连接。就我而言,我很确定问题在于目标 c 中的 Websocket 服务器实现。
  • 在这种情况下,问题似乎与浏览器无关。在我的情况下,websocket 只失败了 firefox,我找不到任何其他失败的浏览器

标签: objective-c google-chrome firefox websocket


【解决方案1】:

问题与“Sec-WebSocket-Extensions: permessage-deflate”有关。在 Firefox 中的 about:config 中将 network.websocket.extensions.permessage-deflate 设置为 false 解决了这个问题。

从 websocket 服务器禁用 permessage-deflate 也可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-15
    • 2011-08-21
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    相关资源
    最近更新 更多