Javascript 如何强制Firebase实时数据库使用WebSocket?
我知道Firebase实时数据库web SDK可以使用WebSocket或长轮询与后端服务器进行对话。有没有办法强制它只使用WebSocket?通常,您不想这样做,因为Firebase SDK会自动检测客户端是否支持WebSocket,并在可能的情况下使用它们。由于WebSocket不能在所有浏览器和所有环境中可靠地工作(例如代理偶尔不能可靠地支持WebSocket流量),因此强制使用WebSocket可能会导致您的应用在某些情况下无法可靠地工作Javascript 如何强制Firebase实时数据库使用WebSocket?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我知道Firebase实时数据库web SDK可以使用WebSocket或长轮询与后端服务器进行对话。有没有办法强制它只使用WebSocket?通常,您不想这样做,因为Firebase SDK会自动检测客户端是否支持WebSocket,并在可能的情况下使用它们。由于WebSocket不能在所有浏览器和所有环境中可靠地工作(例如代理偶尔不能可靠地支持WebSocket流量),因此强制使用WebSocket可能会导致您的应用在某些情况下无法可靠地工作 作为诊断工具或解决非常具体的问题,您可以通过将数
作为诊断工具或解决非常具体的问题,您可以通过将数据库URL更改为
wss://来强制客户机使用WebSocket,以查看是否有更好的解决方案 您可能希望添加一个“Firebase SDK自动检测客户端是否支持web套接字,并在可能的情况下使用它。它只会在无法使用web套接字时返回到长轮询”的宣传语。这是一个很好的建议。完成!我想做这个网站。我想强制Firebase,而不是使用WS。我对此很感兴趣,因为Google Crawler不使用WS-requests,检索内容失败,这会导致索引化大屠杀。我花了很多精力解决谷歌产品的搜索引擎优化问题。我希望我的Firebase项目只依赖于Http,因为Firebase在使用模块的非节点版本时,在检测Electron中是否有web套接字方面似乎非常糟糕。WebSocket工作,然后在某个点失败,Firebase尝试反复使用长轮询,但从未成功。强制WebSocket使我重新连接,并使我至今保持重新连接。