частности меня интересует выборка файловых дескрипторов на чтение. В документации говорится, что select() вернет дескриптор только когда операция IO не будет блокировать, то есть файл будет готов для чтения.
Вопрос: Вот присылает клиент данные 100 ГБ. Как select() поймет, что файл готов для чтения? После первого присланного байта или после всех 100 ГБ?
После первого. Более того, там реально будет "в полёте" (отправлено удалёнными приложэнием) максимум сумма локального и удалённого буфера TCP, плюс что-то в сетевых карточках -- в общем, килобайт 100. Никакого мегабайта, не то что гигабайта.
Обсуждают сегодня