I was told that my server refused to accept client network connections at a specific port could be due to the lack of file descriptors. I looked up what this is all about an
What error are you getting from accept() under these circumstances? Check errno and report it accordingly.
According to the man page, accept() will give EMFILE or ENFILE if the per-process or overall file descriptor limit has been reached, it would be helpful to know which (or if there was something else).
There is a per-process file descriptor limit which is often set to 1024 - but can easily be increased.