Example that Uses FreeRTOS_select()
Not all demo projects will include this example. If this example is
included in a demo project then it may be necessary to set
mainCREATE_SELECT_UDP_SERVER_TASKS to 1 at the top of
the project’s main.c source file to include the example in the
FreeRTOS+TCP and FreeRTOS+FAT Examples
The example creates two RTOS tasks that demonstrate how to use FreeRTOS_select(). One RTOS task creates numerous sockets which are added to a set using FreeRTOS_FD_SET(), while the other RTOS task sends data to a random socket within that set for the first RTOS task to receive and verify.
These RTOS tasks are self checking and will trigger a configASSERT() failure if they detect a difference in the data that is received from that which was sent. As these RTOS tasks use UDP, which can legitimately loose packets, they can cause configASSERT() failures if they are executed in a less than perfect networking environment.