This commit is contained in:
jeremygan2021
2026-03-02 21:14:05 +08:00
commit 252a430466
26 changed files with 4591 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
#ifndef WEBSOCKET_CONTROL_SERVER_H
#define WEBSOCKET_CONTROL_SERVER_H
#include <esp_http_server.h>
#include <cJSON.h>
#include <string>
#include <map>
class WebSocketControlServer {
public:
WebSocketControlServer();
~WebSocketControlServer();
bool Start(int port = 8080);
void Stop();
size_t GetClientCount() const;
private:
httpd_handle_t server_handle_;
std::map<int, httpd_req_t*> clients_;
static esp_err_t ws_handler(httpd_req_t *req);
void HandleMessage(httpd_req_t *req, const char* data, size_t len);
void AddClient(httpd_req_t *req);
void RemoveClient(httpd_req_t *req);
static WebSocketControlServer* instance_;
};
#endif // WEBSOCKET_CONTROL_SERVER_H