LINUX.ORG.RU

История изменений

Исправление windows10, (текущая версия) :

Вот смотри. Твоя программа, то есть бинарь, висит слушает сокет.

void loop {
if (кто_то подключился_к_сокету) {process($_GET, $_POST);}
}

void process(get,post) {
# Тут твои шаблоны бла бла бла, в общем обработка запроса
return или не return, пох
}

Так вот, когда у тебя начнет обрабатываться process, твой loop притормозится до тех пор, пока не будет завершен, соответственно следующие подключения к сокету обрабатываться не будут. Ну это я тебе в упрощенном виде показал.

В случае использования epoll, тебе придется обрабатывать то, что твой epoll насобирал, при чем в том порядке в котором насобирал, и с теми дескрипторами которые насобирал, иначе Вася получит респонс на реквест, который отправил Петя.

Epoll - это всего лишь инструмент, а не магическая кнопка «сделать все красиво».

Исходная версия windows10, :

Вот смотри. Твоя программа, то есть бинарь, висит слушает сокет.

void loop {
if (кто_то подключился_к_сокету) {process($_GET, $_POST);}
}

void process(get,post) {
# Тут твои шаблоны бла бла бла, в общем обработка запроса
return или не return, пох
}

Так вот, когда у тебя начнет обрабатываться process, твой loop притормозится до тех пор, пока не будет завершен, соответственно следующие подключения к сокету обрабатываться не будут. Ну это я тебе в упрощенном виде показал.

В случае использования epoll, тебе придется обрабатывать то, что твой epoll насобирал, при чем в том порядке в котором насобирал, и с теми дескрипторами которые насобирал, иначе Вася получит респонс на реквест, который отправил Петя.