Chun, but the actual problem with shutdown() in this case is that you don't have the child socket handle, which would be the parameter for such a shutdown().
Currently the client socket should timeout, as the server won't acknowledge any data.
For number of sockets, I use _RTCS_socket* global variables, so I can increase the number of sockets my application can create, example:
_RTCS_socket_part_init = 4;
_RTCS_socket_part_grow = 2;
_RTCS_socket_part_max = 20;