( NevemTeve | 2016. 12. 24., szo – 15:32 )

Ja, hogy FD_SETSIZE. Arra vonatkozóan jó hírem van: az senkit nem kötelez semmire, akármekkora bitvektort használhatunk; méréseim szerint, ha kompatibilisek akarunk maradni a FD_SET/CLR/ISSET makrókkal, akkor ilyesmit tákolhatunk (fejből írom, tesztelni kellene):


size_t longbits= 8*sizeof (long);
size_t vectbits= (maxdb + longbits - 1) / longbits * longbits;
size_t vectbytes= vectbits/8;
long *bitvector= calloc (vectbytes, 1);
FD_SET (sock, (fd_set *)bitvector);

Kiegészítő olvasmány: What is the maximum numeric value for a socket, and what is the maximum number of sockets a Windows program can create?