If I set CONFIG_LWIP_MAX_SOCKETS > 64 in the sdkconfig, I got
Code: Select all
v5.4.1/esp-idf/components/lwip/port/esp32xx/vfs_lwip.c:23:1: error: static assertion failed: "MAX_FDS < CONFIG_LWIP_MAX_SOCKETS"
23 | _Static_assert(MAX_FDS >= CONFIG_LWIP_MAX_SOCKETS, "MAX_FDS < CONFIG_LWIP_MAX_SOCKETS");
| ^~~~~~~~~~~~~~
Code: Select all
#ifndef FD_SETSIZE
# ifdef __CYGWIN__
# define FD_SETSIZE 1024
# else
# define FD_SETSIZE 64
# endif
#endif
But in [v5.4.1/esp-idf/components/lwip/lwip/src/include/lwip/sockets.h]
Code: Select all
/* FD_SET used for lwip_select */
#ifndef FD_SET
#undef FD_SETSIZE
/* Make FD_SETSIZE match NUM_SOCKETS in socket.c */
#define FD_SETSIZE MEMP_NUM_NETCONN
#define LWIP_SELECT_MAXNFDS (FD_SETSIZE + LWIP_SOCKET_OFFSET)
Code: Select all
/**
* MEMP_NUM_NETCONN: the number of struct netconns.
* (only needed if you use the sequential API, like api_lib.c)
*/
#define MEMP_NUM_NETCONN CONFIG_LWIP_MAX_SOCKETS
But anyway, how can I increase FD_SETSIZE / MAX_FDS so make it possible to have fd number or opened socket more than 64?