FreeRTOS+TCP. Creating new socket after FreeRTOS_closesocket()

Hello! Does I understed correct after FreeRTOSclosesocket() (for example when connection is lost) I must to create new socket with FreeRTOSsocket() to reopen connection, and I must not to use old socket value. Does this kind of socket creation uses dinamic memory allocation even I need only one open socket? Does it could couse memory fragmentation if I use heap_1? Regards, Vasilij

FreeRTOS+TCP. Creating new socket after FreeRTOS_closesocket()

Once a socket is closed it cannot be used again. If you want another socket then you need to create it again. The socket is allocated using a call to pvPortMallocSocket(). By default that will call pvPortMalloc(), but you can re-define the behaviour by #defining pvPortMallocSocket() in FreeRTOSIPConfig.h to do whatever you want it to do. Fro example:

define pvPortMallocSocket( x ) MyStaticAllocator( x )

(where MyStaticAllocator() would be something you provided). heap1 cannot free memory, so don’t use that. Heap4 will guard against memory fragmentation as much as it can.

FreeRTOS+TCP. Creating new socket after FreeRTOS_closesocket()

Thank you a lot for explanation! It helped.