Я делаю этот тест с модулем Wi-Fi ESP8266. Я хочу постоянно поддерживать соединение с Google Firebase, следить за изменениями в значениях базы данных, а также иметь возможность записи в нее и выполнять обе операции с одним и тем же соединением. Это возможно? Потому что, делая разные вещи, они работают.
Это моя тестовая база данных:
![enter image description here](https://i.stack.imgur.com/eciK8.png)
СИТУАЦИЯ 1 - РАБОТАЕТ - МОНИТОР
(1) Откройте TCP / SSL-соединение с eletronica-ab6b1.firebaseio.com, порт 443. (2) Отправьте следующий HTTP-пакет:
GET /database333.json?auth=DZSQwLoNWAneWA9BcEfAgnelmY965pq98HF4pITU HTTP/1.1
Host: eletronica-ab6b1.firebaseio.com
Accept: text/event-stream
LINE FEED
(3) Делая это, я получаю уведомление всякий раз, когда изменяется «val», и Google отправляет пакет подтверждения активности каждые 30 секунд. Это работает.
СИТУАЦИЯ 2 - РАБОТАЕТ - НАПИШИТЕ
(1) Откройте TCP / SSL-соединение с eletronica-ab6b1.firebaseio.com, порт 443. (2) Отправьте следующий HTTP-пакет:
PATCH /database333.json?auth=DZSQwLoNWAneWA9BcEfAgnelmY965pq98HF4pITU HTTP/1.1
Host: eletronica-ab6b1.firebaseio.com
Content-Type: application/json
Content-Length: 13
"LINE FEED"
{"val":"555"}
(3) При этом значение «555» правильно записывается в базу данных.
СИТУАЦИЯ 3 - НЕ РАБОТАЕТ - ПОПРОБУЙТЕ СМЕШАТЬ ИХ
(1) Открыть TCP / SSL-соединение с eletronica-ab6b1.firebaseio .com, порт 443. (2) Отправьте первый HTTP-пакет:
GET /database333.json?auth=DZSQwLoNWAneWA9BcEfAgnelmY965pq98HF4pITU HTTP/1.1
Host: eletronica-ab6b1.firebaseio.com
Accept: text/event-stream
LINE FEED
(3) На данный момент я отслеживаю изменения в базе данных и получаю пакет подтверждения активности от Google каждые 30 секунд. Хорошо, пока здесь. (4) И затем я отправляю следующий HTTP-пакет, пытаясь записать в базу данных: «
PATCH /PIC.json?auth=DZSQwLoNWAneWA9BcEfAgnelmY965pq98HF4pITU HTTP/1.1
Host: eletronica-ab6b1.firebaseio.com
Content-Type: application/json
Content-Length: 13
LINE FEED
{"val":"333"}
(5) При этом я пытался записать в базу данных, используя то же соединение, но операция записи не сработала.
Кто-нибудь знает, что я делаю неправильно?