Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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
Firebase-切换到WebSocket协议-握手不起作用_Firebase_Rest_Firebase Realtime Database_Websocket_Esp8266 - Fatal编程技术网

Firebase-切换到WebSocket协议-握手不起作用

Firebase-切换到WebSocket协议-握手不起作用,firebase,rest,firebase-realtime-database,websocket,esp8266,Firebase,Rest,Firebase Realtime Database,Websocket,Esp8266,我正在使用ESP-01/ESP8266 Wifi模块与我的google firebase项目建立SSL连接。 我已经能够使用HTTP协议和REST API对数据库进行写/读操作,我的下一个目标是将协议切换到WebSocket,以便服务器和客户端在初始握手后,我的董事会可以使用该协议。目前,我甚至都没能让握手成功,而这正是我目前所面临的问题 到目前为止,我尝试的是: 1首先,我用SSL打开TCP套接字,连接到wss://eletronica-ab6b1.firebaseio.com,端口443。S

我正在使用ESP-01/ESP8266 Wifi模块与我的google firebase项目建立SSL连接。 我已经能够使用HTTP协议和REST API对数据库进行写/读操作,我的下一个目标是将协议切换到WebSocket,以便服务器和客户端在初始握手后,我的董事会可以使用该协议。目前,我甚至都没能让握手成功,而这正是我目前所面临的问题

到目前为止,我尝试的是:

1首先,我用SSL打开TCP套接字,连接到wss://eletronica-ab6b1.firebaseio.com,端口443。SSL步骤由wifi模块完成,SSL/TLS是其功能之一

2连接结束后,我向服务器发送以下HTTP数据包,实际上只是一个HTTP头,没有数据。小包裹: GET/1月HTTP/1.1 主持人:eletronica-ab6b1.firebaseio.com 升级:Websocket 连接:升级 Sec WebSocket版本:13 Sec WebSocket密钥:DGHLIHNHBXBSZSUB25JZQ==

这是服务器的响应:

我为什么用一月?检查,这是我的数据库:

为了工作我需要改变什么?我指的是标题的内容以及与域的连接

问候

编辑:
我的最终目标是:董事会建立到firebase服务器的恒定TCP连接。当数据库的值发生变化时,服务器将通过协议通知电路板,因此电路板无需每隔X秒轮询服务器一次,以了解该值是否发生变化。我走的路对吗?使用WebSocket协议?

我从未尝试过,但您可以找到一种方法来实现与使用gRpc的WebSocket类似的功能

我不了解RPC协议,我将很快阅读相关内容。我的最终目标是:董事会建立到firebase服务器的恒定TCP连接。当数据库的值发生变化时,服务器将通过协议通知电路板,因此电路板无需每隔X秒轮询服务器一次,以了解该值是否发生变化。