我正在使用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 /January HTTP/1.1
Host: eletronica-ab6b1.firebaseio.com
Upgrade: Websocket
Connection: Upgrade
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
这是服务器的响应:
为什么我使用“一月”?检查,这是我的数据库:
为了工作,我需要更改什么?我指的是标头的内容以及与域的连接。
问候
编辑:我的最终目标是:董事会建立与Firebase服务器的恒定TCP连接。当数据库的值更改时,服务器将通过协议通知板,因此板将无需继续轮询服务器(每X秒)以了解该值是否已更改。我在正确的方法上做到这一点吗?使用WebSocket协议?