Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何强制Firebase实时数据库使用WebSocket?_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 如何强制Firebase实时数据库使用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可能会导致您的应用在某些情况下无法可靠地工作 作为诊断工具或解决非常具体的问题,您可以通过将数

我知道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使我重新连接,并使我至今保持重新连接。