I have also tried using client.read() without relying on client.available(), which results in the same issue.
Code: Select all
void ESP32WiFiSlave::loop() {
if (!client.connected()) {
int n = MDNS.queryService("_dcs-bios", "_tcp");
if (n > 0) {
master_ip = MDNS.IP(0);
master_port = MDNS.port(0);
client.setNoDelay(true);
while (!client.connected()) {
Serial.println("Connecting to " + master_ip.toString() + ":" + master_port);
client.connect(master_ip, master_port, 1000);
}
Serial.println("Socket is connected");
send("register");
lastReceivedTime = millis();
lastKeepAliveTime = millis();
setStatus(CONNECTED);
} else {
Serial.println("No services found");
delay(3000);
}
} else {
int packetSize = client.available();
if (packetSize > 0) {
Serial.println("Received " + String(packetSize));
uint8_t incomingPacket[packetSize];
int len = client.read(incomingPacket, packetSize);
lastReceivedTime = millis();
// Print the received data to serial
for (int i = 0; i < len; i++) {
Serial.print((char)incomingPacket[i]);
}
Serial.println();
} else {
// Check for timeout
if (millis() - lastReceivedTime > timeoutDuration) {
client.stop();
setStatus(ASSOCIATED);
Serial.println("Connection timed out");
}
}
// Check if it's time to send a keep-alive message
if (client.connected() && (millis() - lastKeepAliveTime >= keepAliveTimeout)) {
send("check-in");
lastKeepAliveTime = millis();
}
}
}
Code: Select all
Sent 111 {"type": "message", "data": "VVVVVQYABAAyACAgKgQEACA5EABMBAIAI/aiEAQAdx2QHbAQAgC6E8YQAgAokmYTBAAwgDMw/v8CAMIG"} to slave-1 at address ('10.0.0.60', 55332)
Sent 103 {"type": "message", "data": "VVVVVQoABAAgICAgLgQEAAkARTRMBAIAJ/aiEAQAgB2XHcYQAgA5kmoTBAAuMDAw/v8CAMMG"} to slave-1 at address ('10.0.0.60', 55332)
Sent 103 {"type": "message", "data": "VVVVVQ4ABAAgICAgMgQEABOQQgBMBAIAKvaiEAQAhx2fHcYQAgBJkm4TBAAgAAAA/v8CAMQG"} to slave-1 at address ('10.0.0.60', 55332)
Sent 111 {"type": "message", "data": "VVVVVRIABAAgICAgNgQEAPnqMDlMBAIALvaiEAQAjR2kHcYQAgBWktIQAgDCqXITBAAAAAAA/v8CAMUG"} to slave-1 at address ('10.0.0.60', 55332)
Sent 127 {"type": "message", "data": "VVVVVQAAAgBBLRYAAgAgIDoEBAA6MjA6TAQCADH2ohAEAJMdqR2uEAIA5RPGEAIAYpLSEAIAwal2EwQAAAAAAP7/AgDGBg=="} to slave-1 at address ('10.0.0.60', 55332)
Sent 127 {"type": "message", "data": "VVVVVQIABAAxMENfPgQEADMzIDFMBAIANfaiEAQAmB2uHbAQAgC5E8YQAgBtkgIRAgAyMZgSAgBbIHoTBAD//wAA/v8CAMcG"} to slave-1 at address ('10.0.0.60', 55332)
Sent 103 {"type": "message", "data": "VVVVVQYABAAyACAgQgQEADk0MSBMBAIAOPaiEAQAnB2xHcYQAgB1kn4TBAAAADAw/v8CAMgG"} to slave-1 at address ('10.0.0.60', 55332)
Sent 103 {"type": "message", "data": "VVVVVQoABAAgICAgRgQIAAAAQIMCADv2ohAEAKAdtR3GEAIAfZKCEwQAMTMzLv7/AgDJBg=="} to slave-1 at address ('10.0.0.60', 55332)
Sent 111 {"type": "message", "data": "VVVVVQ4ABAAgICAgSgQEAAIAQPaiEAQApR2yHa4QAgDmE8YQAgCGkkYTAgBgUoYTBAAwMDAA/v8CAMoG"} to slave-1 at address ('10.0.0.60', 55332)
Sent 107 {"type": "message", "data": "VVVVVRIABAAgICAgTAQGAEP2IDEuMAAQBAAyNDAgohAEAKcdqB3GEAIAjJLSEAIAwKn+/wIAywY="} to slave-1 at address ('10.0.0.60', 55332)
Sent 119 {"type": "message", "data": "VVVVVQAAAgBBLRYAAgAgIAAEBAAwLjcuTAQCAEb2BBAEACAxMjCiEAQAqh2fHcYQAgCSktIQAgC+qf7/AgDMBg=="} to slave-1 at address ('10.0.0.60', 55332)
Code: Select all
Received 650
{"type": "message", "data": "VVVVVQoABAAgICAgRgQIAAAAQIMCAHONohAEAHQdrh3GEAIAIpIkEQQAMCAgVf7/AgD/Bg=="}{"type": "message", "data": "VVVVVQ4ABAAgICAgSgQEAAIAd42iEAQAgB2wHbAQAgC5E8YQAgA6kigRBAAFAIBE/v8CAAAG"}{"type": "message", "data": "VVVVVRIABAAgICAgTAQGAHqNIDEuMKIQAgCJHcYQAgBNkiwRBAD//////v8CAAEG"}{"type": "message", "data": "VVVVVQAAAgBBLRYAAgAgIAAEBAAwLjcuTAQCAH6NohAEAJAdpx2uEAIA5xPGEAIAXJIwEQQA/+92fv7/AgACBg=="}{"type": "message", "data": "VVVVVQIABAAxMENfBAQEADUwTmVMBAIAgY2iEAQAlx2eHcYQAgBrkjQRBABKAAAA/v8CAAMG"}{"type": "message", "data": "VVVVVQYABAAyACAgCAQEAHcgY2FMBAIAhI2iEAQAnh2WHcYQAgB4ktIQAgCCuAIRAgA1MzgRBACD/AAAmBICAFsg/v8CAAQG"}
Received 797
{"type": "message", "data": "VVVVVQoABAAgICAgDAQEAGxsc2lMBAIAiI2iEAQAox2QHa4QAgDmE8YQAgCCktIQAgCAuDwRBAAAAP///v8CAAUG"}{"type": "message", "data": "VVVVVQ4ABAAgICAgEAQEAGduICBMBAIAi42iEAQAqB2KHbAQAgC6E8YQAgCMktIQAgB/uEARBAD//wAA/v8CAAYG"}{"type": "message", "data": "VVVVVRIABAAgICAgFAQEACAgICBMBAIAjo2iEAQArB2EHa4QAgDlE8YQAgCWkkQRBACBEgAA/v8CAAcG"}{"type": "message", "data": "VVVVVQAAAgBBLRYAAgAgIBgEBAAgICAgTAQCAJKNohAEALAdgB3GEAgAnZKIkrFRw1FIEQQAAAAAAP7/AgAIBg=="}{"type": "message", "data": "VVVVVQIABAAxMENfHAQEACAgTilMBAIAlY2iEAQAsx17HcYQAgClkkwRBAAAAAAA/v8CAAkG"}{"type": "message", "data": "VVVVVQYABAAyACAgIAQEAHcKIfBMBAIAmY2kEAIAdx2wEAIAuxPGEAYApJKIkrBRUBEEAAAA///+/wIACgY="}{"type": "message", "data": "VVVVVQoABAAgICAgJAQEACAgMTZMBAIAnI2iEAQAqh10Ha4QAgDkE8YQAgCQklQRBAAAAAAA/v8CAAsG"}
Received 111
{"type": "message", "data": "VVVVVQ4ABAAgICAgKAQEACAgIDlMBAIAn42iEAQAoB1xHcYQAgB9ktIQAgB9uFgRBAAQdgAA/v8CAAwG"}
Received 448
{"type": "message", "data": "VVVVVRIABAAgICAgLAQEABAACQBMBAIAo42iEAQAmB1yHcYQAgBsktIQAgB8uFwRBAAAAP9//v8CAA0G"}{"type": "message", "data": "VVVVVQAAAgBBLRYAAgAgIDAEBABFNBOQTAQCAKaNohAEAJEdex3GEAIAXpJgEQQA/38wNv7/AgAOBg=="}{"type": "check-in"}{"type": "message", "data": "VVVVVQIABAAxMENfNAQEAEIA+epMBAIAqo2iEAQAix2CHcYQAgBRkmQRBAA3WP9//v8CAA8G"}{"type": "message", "data": "VVVVVQYABAAyACAgOAQEADA5OjJMBAIArY2iEAQAhR2JHcYQAgBFkmgRBACEBP///v8CABAG"}