AnsweredAssumed Answered

RTCS-multiple connections

Question asked by Matthew Miller on Mar 3, 2014
Latest reply on Mar 11, 2014 by Matthew Miller



I've got a K60F120 project that is acting as an audio controller and is being queried/commanded via UDP packets.  During initial development, the RTCS stack worked great - I created a socket, bound it to the appropriate port, called listen(), then accept() for each device that connected.


Just started testing with multiple devices and I'm seeing that I can connect 4 devices, then the 5th refuses the connection.  Disconnect one of the connected devices and the 5th can take its place.  This may be expected with the following:


    /* runtime RTCS configuration for devices with small RAM, for others the default BSP setting is used */

    _RTCSPCB_init = 4;

    _RTCSPCB_grow = 2;

    _RTCSPCB_max = 20;

    _RTCS_msgpool_init = 4;

    _RTCS_msgpool_grow = 2;

    _RTCS_msgpool_max  = 20;

    _RTCS_socket_part_init = 4;

    _RTCS_socket_part_grow = 2;

    _RTCS_socket_part_max  = 20;


although I can't explain why the _grow settings were ignored.


So I changed this to set the "_init"s to 10, to allow for more simultaneous connections.


However, this didn't appear to have any effect - it still properly connects 4 requests, and refuses the 5th.  I've made similar changes in the user_config.h file, in case that superseded the runtime configuration, but it also didn't appear to have any effect.


If I step into the RTCS_create function, I can see that the RTCS_msgpool_create calls are using the new init numbers, but it doesn't seem to change anything.


Any ideas as to what I might be doing wrong?