After just over 5 days of testing, with 1 ESP32 server, 4 web clients and over 100,000 connections, one of my nodes received data intended for another node.
I'm running the headless server example on the ESP32 and headless client examples on ESP8266, nRF52 & nRF54 devices., and verifying data on every connection.
There still seems to be an issue here, although it is 1 in 100,000, its still an issue.
The issue is related to connection backlog handling. Even after calling sPcb = tcp_listen_with_backlog(sPcb, 0); the stack still accepts 1 backlogged connection, so I need to figure out a way to handle backlogged connections a little better. I can't just accept 1, it needs to be 1 main connection + 1 backlogged. That or just close the incoming backlogged connections immediately, but that results in more traffic and processing.
This issue will remain open for a while, since its taken roughly 5 days to appear, it will take even longer to solve.
After just over 5 days of testing, with 1 ESP32 server, 4 web clients and over 100,000 connections, one of my nodes received data intended for another node.
I'm running the headless server example on the ESP32 and headless client examples on ESP8266, nRF52 & nRF54 devices., and verifying data on every connection.
There still seems to be an issue here, although it is 1 in 100,000, its still an issue.
The issue is related to connection backlog handling. Even after calling
sPcb = tcp_listen_with_backlog(sPcb, 0);the stack still accepts 1 backlogged connection, so I need to figure out a way to handle backlogged connections a little better. I can't just accept 1, it needs to be 1 main connection + 1 backlogged. That or just close the incoming backlogged connections immediately, but that results in more traffic and processing.This issue will remain open for a while, since its taken roughly 5 days to appear, it will take even longer to solve.