Currently, FreeRTOS+TCP ignores the value of sin_len
. Other OS’s might check it, so it’s a good habit to set it anyway.
memset( &xAddress, 0, sizeof( xAddress ) );
xAddress.sin_family = FREERTOS_AF_INET4;
xAddress.sin_address.ulIP_IPv4 = FreeRTOS_inet_addr("192.168.0.50");
xAddress.sin_port = FreeRTOS_htons(10000U);
xAddress.sin_len = ( uint8_t ) sizeof( xAddress );
Or when the target is an IPv6 address:
memset( &xAddress, 0, sizeof( xAddress ) );
xAddress.sin_family = FREERTOS_AF_INET6;
FreeRTOS_inet_pton( FREERTOS_AF_INET6, /* xAddressFamily */
"2600:70ff:c066::2001", /* pcSource */
xAddress.sin_address.xIP_IPv6.ucBytes ); /* pucTarget */
xAddress.sin_port = FreeRTOS_htons(10000U);
xAddress.sin_len = ( uint8_t ) sizeof( xAddress );