Как поставить в очередь предыдущий http-запрос и прочитать другой, не блокируя цикл событий? - PullRequest
0 голосов
/ 10 марта 2019

Цикл событий выглядит следующим образом:

while(1)
{
    if ((new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen))<0)
    {
        perror("In accept");
        exit(EXIT_FAILURE);
    }
    char buffer[30000] = {0};
    valread = read( new_socket , buffer, 30000);
    printf("%s\n",buffer );
}

Я намереваюсь поставить в очередь предыдущий http-запрос. Затем в последнее время ответьте клиенту, используя

write(new_socket , hello , strlen(hello));
close(new_socket);

Однако, как только я прочитал это без записи, я получаю блокировку, поэтому я не мог получить новый входящий http и поставить в очередь предыдущий. Как правильно реализовать http-очередь, которая уже прочитана?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...