I am using a WIZ820io modules in one of my projects. I’ve written code to replicate the example W5200 driver and socket layer code.
I’ve also written a PC client app which receives data using a TCP socket. I’m sending ~ 2kB data every 10 ms, so sending ~ 200 kB/s. Doesn’t seem like that should be a challenge.
In general, the app is working most of the time. However, periodically, the send() function doesn’t send all the data at once, and goes into the retry part (referring to the example TCP send).
It seems like if it ever goes into this part, it can never send all the bytes, and I get the windowfull no matter what. I’ve matched my code closely to the example code. I can’t see any apparent differences. But, when I set a break in the retry part, it never succeeds. Not sure what to look for?