Объясните пожалуйста связаны ли описатели(fd) сокета и соединения. И если да то как? Моё предположение сокет фильтрует пакеты и распределяет их по соединениям. Тогда как соединение их принимает от другого описателя(fd сокета)?
Ещё: если соединение отправляет данные через сокет, то откуда система знает что соединение хочет что-то отправить? Каждый раз проходится по всем соединениям? Или там используются таймеры?
Подразумевается что сокет = socket(), а соединение = connect/accept().