В моем коде сервера сокетов написано, что:
listen (socket_fd, 5);
Я знаю, что здесь написано по причине «прослушивания соединения», но я не уверен, что означает параметр 5. Также есть ли синтаксис
socklen_t
Я пытался найти его с помощью ручной команды, но не смог.
От этот сайт, вторым параметром является размер очереди невыполненных работ. listen(int fd, int size)
Функция создает очередь для входящих запросов на соединение. Таким образом, в вашем примере вы сможете обрабатывать пять попыток подключения, которые достигают (или очень близко) одновременно.
Параметр является намек ядру о размере очереди невыполненных работ. Это очередь соединений, которые были завершены TCP, но еще не возвращены как сокеты accept()
в приложении (потому что приложение может быть медленным вызовом accept()
). Ядро может свободно настраивать подсказку вверх или вниз. На практике, количество задержек в пять не было видно годами, если не десятилетиями.