WIZnet Developer Forum

There is no reliability of data sent in TCP socket


if I send in a tcp socket a buffer of 2048 bytes and my Sn_TxMAX = 2048, W5500 goes to send 2 tcp packets (W5500 does not support fragment).

The function “int32_t send(uint8_t sn, uint8_t * buf, uint16_t len)” returns that send is OK.

If the server close its socket after receive the first tcp packet (1460 bytes) so the second packet (588 bytes) is not succesfull.

Is there any workaround to verify that 100% of tcp packets were sent with ACK response from server?


In this case, the W5500 recognizes that 588 bytes were not received through the acknowledge number transmitted by the server. Thereafter, data for 588 bytes is continuously retransmitted, and if there is no response from the server, the connection is disconnected.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.