добавил наследника для класса отправки в сокеты

This commit is contained in:
Dmitry Borisenko
2021-12-28 00:01:01 +01:00
parent 4a7b130b26
commit be35992c84
9 changed files with 54 additions and 37 deletions

View File

@@ -211,7 +211,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
}
if (payloadStr.startsWith("/config")) {
if (myStreamJsonArray) myStreamJsonArray->sendFile("/config.json", num);
if (mySendJson) mySendJson->sendFile("/config.json", num);
}
if (payloadStr.startsWith("/changed")) {

View File

@@ -1,26 +0,0 @@
#include "Web.h"
StreamJsonArray::StreamJsonArray() {}
StreamJsonArray::~StreamJsonArray() {}
void StreamJsonArray::sendFile(String path, uint8_t num) {
_path = path;
_num = num;
file = seekFile(path);
// file.find("[");
}
void StreamJsonArray::loop() {
// if (ws.availableForWriteAll()) {
if (file.available()) {
String jsonArrayElement = _path + file.readStringUntil('}') + "}";
//jsonArrayElement.replace("]}", "]");
// Serial.println(jsonArrayElement);
standWebSocket.sendTXT(_num, jsonArrayElement);
// ws.textAll(jsonArrayElement);
}
//}
}
StreamJsonArray* myStreamJsonArray;

View File

@@ -32,7 +32,7 @@ void setup() {
#endif
//создаем объект класса выгружающего json массив из файла
myStreamJsonArray = new StreamJsonArray;
mySendJson = new SendJson;
//выводим остаток оперативной памяти после старта
// 22.12.21 пустой код без wifi остаток = 50.28 kB
@@ -52,7 +52,7 @@ void loop() {
//обновление задач таскера
ts.update();
if (myStreamJsonArray) myStreamJsonArray->loop();
if (mySendJson) mySendJson->loop();
#ifdef STANDARD_WEB_SERVER
HTTP.handleClient();

21
src/сlasses/sendJson.cpp Normal file
View File

@@ -0,0 +1,21 @@
#include "сlasses/sendJson.h"
//базовый класс
SendJson::SendJson() {}
SendJson::~SendJson() {}
void SendJson::sendFile(String path, uint8_t num) {
_path = path;
_num = num;
file = seekFile(path);
}
void SendJson::loop() {
if (file.available()) {
String jsonArrayElement = _path + file.readStringUntil('}') + "}";
send(jsonArrayElement, _num);
}
}
SendJson* mySendJson;

View File

@@ -0,0 +1,8 @@
#include "сlasses/sendJsonWs.h"
SendJsonWs::SendJsonWs() {}
SendJsonWs::~SendJsonWs() {}
void SendJsonWs::send(String& jsonArrayElement, uint8_t& _num) {
standWebSocket.sendTXT(_num, jsonArrayElement);
}