HTTP client socket often failed to send a data

Hi, I’m writing because I have some problem.

I developed a HTTP client app with W5100.

The app have being tested in an infinite loop to see if socket communication is working properly.

It started up successfully but sometimes sending failed.

When the sending is successful, the socket state changes from SOCK_SYNSENT to SOCK_ESTABLISHED.

However, the status often changes to SOCK_SYNRECV and timeout was occurred.

That lasts for 10 seconds, it changes to SOCK_CLOSED and then goes back to normal.

I believed that SOCK_SYNRECV was in the state of connect.

I do not know if I am wrong.

I would be grateful if you let me know what I missed.

Does your W5100 serve as client (connecting to remote server) or as server (waiting for connection)?

It works as client and sends an HTTP protocol to server.

In addition, it does not support HTTP server.

However, socket status was often changed to SOCK_SYNRECV.