ESP8266(ArduinoCore)を用いてESP8266WebServerを利用したプログラムを制作しています。ESP8266WebServerの生成を以下のとおりしています。
ESP8266WebServer server(80);
でオブジェクトを生成して、他の処理で利用するメモリが不足するのでいったんWebサーバ(ESP8266WebServer)を終了したメモリを開放したいです。
でも、再度Webサーバ(ESP8266WebServer)を起動したい形で残したいです。
HTTP受信時の処理を考えるとグローバルに宣言する必要があり、再度生成もできないかと思っております。
デストラクタと同じ処理を、server.stopで記載して実行しましたが、
再度、serverを利用するとエラーでWDTでリセットされてしまいます。
何かご教授頂ければ幸いです。
ライブラリの
ESP8266WebServer::ESP8266WebServer(int port)
: _server(port)
, _currentMethod(HTTP_ANY)
, _currentHandler(0)
, _firstHandler(0)
, _lastHandler(0)
, _currentArgCount(0)
, _currentArgs(0)
, _headerKeysCount(0)
, _currentHeaders(0)
, _contentLength(0)
{
}
ESP8266WebServer::~ESP8266WebServer() {
if (_currentHeaders)
delete[]_currentHeaders;
_headerKeysCount = 0;
RequestHandler* handler = _firstHandler;
while (handler) {
RequestHandler* next = handler->next();
delete handler;
handler = next;
}
close();
}
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。