Websocket连接可在Chrome中使用,但无法在Firefox中连接?

时间:2018-09-23 19:09:01

标签: node.js google-chrome firefox websocket socket.io

一切正常,在chrome中工作。没问题。

在Firefox中,我收到一个错误消息:Firefox无法在wss://domain.com上建立与服务器的连接

如果您转到https://websocket.org/echo.html并在Chrome中将位置替换为wss://domain.com,则可以重现,而在不起作用的情况下,则可以重现。

我不知道为什么?

使用Node.js并在cloudflare后面的heroku上运行。

修改

因此我从布拉德的提示中修正了问题。

我正在使用https://github.com/websockets/ws/blob/master/doc/ws.md进行网络套接字。 它有一个选项perMessageDeflate

现在禁用它可以使其在FF中工作。

不确定发生了什么,但这已将其修复。 (我也想在客户端使用这个库吗?)

我在MDN上发现的唯一东西是

  

Gecko 8.0从Gecko 8.0(Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5)开始,它是WebSocket协议的deflate-stream扩展   已从规范中弃用,已被禁用   草稿。这样可以解决与某些网站的不兼容性。

1 个答案:

答案 0 :(得分:1)

您收到Firefox用户的400错误请求。目前尚不清楚为什么。 Firefox和Chrome之间的请求数据几乎相同。我看到的唯一区别是Chrome对该标头有更多功能:

node* method_name(){}