Я пытаюсь создать постоянное соединение между моим nodeMCU и удаленным сервером, поскольку я буду использовать это для отправки сообщений на удаленный сервер каждые 2 секунды. Стоимость повторного подключения составляет примерно 400 мс, что в моем случае слишком много.
Однажды я запускаю соединительный фрагмент внутри функции настройки
int r=0;
while((!httpsClient.connect(host, httpsPort)) && (r < 30))
{
delay(100);
Serial.print(".");
r++;
}
Serial.println("");
if(r==30) {
Serial.println("Connection failed");
}
else {
Serial.println("Connected to web");
}
Затем внутри цикла while я запускаю метод https post каждые 2 секунды или около того.
httpsClient.print(String("POST ") + "/post HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Content-Type: application/json"+ "\r\n" +
"Content-Length: "+String(measureJson(doc)+2) + "\r\n\r\n" );
serializeJson(doc, JSONmessageBuffer);
httpsClient.print(JSONmessageBuffer);
httpsClient.print("\r\nConnection: keep-alive\r\n\r\n");
Но, к сожалению, я могу отправить посылку только один раз, и соединение закрывается автоматически. Можете ли вы указать мне, как следует устанавливать постоянные HTTPS-соединения?