ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 апреля
927550 Топик полностью
lloyd (17.06.2019 07:49, просмотров: 343) ответил IBAH на Кто силен в HTTP? Как заставит браузер работать через 1 сокет? Эксплоер тупо держит 2 сокета и задумывается насмерть. Хром и Фокс непредсказуемо, то запрашивают через 1 сокет, то через 2. Нутром чую, чего-то надо отправить браузеру, чтоб харчами
Браузер в стандартном режиме может открыть столько сокетов, сколько HTTP-запросов надо отправить. То есть у вас на страничке 50 файлов грузится, то он может их начать качать параллельно. Со стороны сервера есть такая вещь, как TCP Listen Backlog, которая в фоне принимает соединение, а вот обмен данными осуществляется, когда реально есть программе до этого дело. Поэтому традиционный подход с блокирующими accept()/read()/write() сейчас кажется лютым фейлом, потому что Ъ-сервер должен работать с сокетами асинхронно (как это делает, к примеру lwip RAW API). Тогда вас не будет смущать параллельно 15 сокетов работающих, пока у вас есть память на сами PCB. Но это касается HTTP 1.0, начиная с HTTP 1.1 есть замечательная Connection: keep-alive, которая может последовательно проплюнуть все запросы через одно TCP-шное соединение.