end():
Not officially documented. Pay attention, when end() is called, the socket is not close immediately. The tcp connection will come into TCP_WAIT, after few minutes (~2 minutes) the connection will close completely and free the socket.
So calling begin() during this time frame after the end() will silently failed and have to check thanks the bool operator if the server is ready or not. If not then call again begin().
bool operator: https://www.arduino.cc/reference/en/libraries/ethernet/ifserver/
end()
: Not officially documented. Pay attention, whenend()
is called, the socket is not close immediately. The tcp connection will come intoTCP_WAIT
, after few minutes (~2 minutes) the connection will close completely and free the socket. So callingbegin()
during this time frame after theend()
will silently failed and have to check thanks the bool operator if the server is ready or not. If not then call againbegin()
.For
TCP_WAIT
ref: https://github.com/stm32duino/LwIP/blob/4de72d4b92ebf1ac5ce5efe7c331c0af6d52cca3/src/core/tcp.c#L1446C11-L1446C11Fixes #73.