Вот класс http_conn
Код: Выделить всё
class http_conn{
const static int BUF_SIZE = 1024;
char m_bufin[BUF_SIZE];
int m_bufinOffset;
};
Когда функция Recv() в событии epollin, скажем, возвращает полтора запроса
после вызова Recv() буфер выглядит следующим образом:
Код: Выделить всё
Input buffer |----request 1-----|--part of req2--|-----empty----|
Index (bytes)0 497 608 1023
Как после успешного анализа и обработки req1, как поступить с частью req2? Переместить его в начало буфера, или просто оставить там, или скопировать во что-то вроде объекта Req?
А если использовать epoll с режимом ET, как избежать переполнения буфера ?
Да, у меня вопрос: как реализовать корректный буфер пользовательского ввода
Подробнее здесь: https://stackoverflow.com/questions/791 ... network-io
Мобильная версия