Я использую системный вызов epoll
для обработки нескольких клиентов в разговоре TCP.использование void * ptr и int fd в структуре данных epoll в то же время
Я зарегистрировал epoll
с ФД:
epoll_ctl (efd, EPOLL_CTL_ADD, fd, &event);
и возможность использовать с сравнением FD как:
if(conn->getSockfd() == events[i].data.fd)
// ....
Но как структура данных Epoll
typedef union epoll_data {
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
Я хочу карту объект (функция) к определенному полю fd
, поэтому я могу назвать эту функцию afte r сравнение.
Но я не получаю правильный результат. Можно это сделать или нет? Если да, то я могу использовать его?
Как вы это делаете сейчас? –
В настоящее время я могу сравнить 'fd' конкретного клиента. Я хочу сопоставить объект с конкретным 'fd'. Поэтому предположим, что у меня есть 5 соединений, каждое соединение будет иметь другой объект. Поэтому я могу вызвать правильный объект для каждого 'fd'. – anurudh