epoll

    5熱度

    1回答

    我正在尋找一種方法來檢查epoll實例監視的文件描述符的當前數量。我使用以下方法創建和填充epoll實例 epoll_create epoll_ctl 平臺是Gnu/Linux。

    0熱度

    2回答

    我試着去接受使用epoll的多個UDP套接字的數據。這是一個測試程序,它沒有插座的確切數字。(用於測試目的,其設定爲50)下面的程序沒有收到任何數據,並將其卡在epoll_wait(),因爲我已經給它-1不斷地等待直到它獲得數據。但沒有得到任何。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unis

    1熱度

    1回答

    這是一個關於這個答案的問題:https://stackoverflow.com/a/14241095/2332808(會評論它,但新創建的帳戶顯然不能,對於噪音感到遺憾,epollet/multithreading上的資源很難找到.. 。) 它建議使用epoll的,如下所示: epoll_ctl()以激活通知(並且如果使用EPOLLONESHOT激活)。 系統輸入:在一個循環中read()/rec

    4熱度

    3回答

    我使用TCP Keep-Alive選項檢測死連接。它與連接是否正常使用閱讀插座: setsockopt(mysock,...) // set various keep alive options epoll_ctl(ep,mysock,{EPOLLIN|EPOLERR|EPOLLHUP},) epoll_wait -> (exits after several seconds when re

    0熱度

    1回答

    我有一個應用程序,當它有數據要傳輸時,使用epoll來知道給定的TCP套接字是否可以寫入。 我在觀察的是,由於TCP連接的遠端落後,並且TCP套接字的發送緩衝區開始填充,所以epoll返回EPOLLOUT事件的頻率似乎經歷了指數退避。這種行爲發生在從套接字寫入接收EAGAIN之前。 應用程序正在使用EPOLLONESHOT,並在每次出現後重置EPOLL_CTL_MOD調用以重新設置EPOLLOUT

    1熱度

    1回答

    我使用共享存儲器(與信號量)兩個進程之間進行通信的一個共享內存對象上寫系統調用在比較: 拳,我打開使用呼叫共享內存對象: int fd = shm_open("name") [http://linux.die.net/man/3/shm_open] 第二,我這個映射共享MEM使用Call對象到我的尋址空間: void* ptr = mmap(..fd..) [http://linux.die.

    0熱度

    2回答

    我使用epoll監聽listen fd事件,發生EPOLLIN事件後我打電話接受處理,但總是EAGAIN錯誤。任何人都可以給我一些建議?謝謝! [日誌]打印下面的所有時間信息 信息00年1月1日:02:08:924 [385] poll_loop:epoll的有1個事件 INFO 1月1 00:02: 08:925 [385] poll_loop:事件FD 0,事件類型:1 INFO 1月1 00

    0熱度

    1回答

    在epoll的用法,它通常是這樣的: struct epoll_event ev,events[20]; epfd=epoll_create(256); 。。。 nfds=epoll_wait(epfd,events,40,500); 有些文章說,maxevents參數epoll_wait(即40在epoll_wait(epfd,events,40,500);)應不超過epoll_cre

    3熱度

    1回答

    對於同一個套接字,我想註冊兩個事件:一個是EPOLLIN,另一個是EPOLLOUT | EPOLLET。 所以對於輸入,我希望它是電平觸發器和輸出我希望它是邊緣觸發器。 ev.data.fd=fd; ev.events=EPOLLIN; epoll_ctl(epfd,EPOLL_CTL_ADD,fd,&ev); ev.events=EPOLLOUT|E

    2熱度

    1回答

    上的epoll,該epoll_data結構是很重要的 typedef union epoll_data { void *ptr; int fd; __uint32_t u32; __uint64_t u64; } epoll_data_t; 如果一些事件,我需要把它與一些額外的信息,爲epoll_data,我需要建立一個結構,並使用pt