Whenever a client disconnects (e.g. just disables the WiFi), the socket would get an I/O error and fail on all following reads.
This bug existed since at least c49bcb4, so this might affect a bunch of users.
Additionally this uses the sockets directly to avoid ~3K of dynamically allocated memory (~1.5K every call to parsePacket(), so in every iteration of the main loop), which might also cause a bunch of problems.
Whenever a client disconnects (e.g. just disables the WiFi), the socket would get an I/O error and fail on all following reads. This bug existed since at least c49bcb4, so this might affect a bunch of users.
Additionally this uses the sockets directly to avoid ~3K of dynamically allocated memory (~1.5K every call to parsePacket(), so in every iteration of the main loop), which might also cause a bunch of problems.