0
我正在使用epoll
系統調用來處理TCP對話中的多個客戶端。在epoll數據結構中同時使用void * ptr和int fd
我已經註冊epoll
與FD:
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
字段,所以我可以在調用這個函數後比較。
但我沒有得到正確的結果。有可能做或不做?如果是,那麼我可以使用它?
你現在怎麼樣? –
目前我可以比較特定客戶端的'fd'。我想用特定的'fd'來映射一個對象。所以假設我有5個連接,每個連接都會有不同的對象。所以我可以爲每個「fd」調用正確的對象。 – anurudh