epoll

    7热度

    3回答

    在LDD3,我看到这样的代码 static unsigned int scull_p_poll(struct file *filp, poll_table *wait) { struct scull_pipe *dev = filp->private_data; unsigned int mask = 0; /* * The buffer is circ

    0热度

    2回答

    假设我有一个绑定到套接字的进程,而不是自己创建4个当前进程的实例。 新进程继承父套接字的文件描述符,并能够对其执行“接受”。如果我将套接字描述符放入epoll并尝试连接到套接字,则会通知所有4名工作人员(EPOLLIN)有一些要读取/接受的数据。所有工作人员都试图做出接受,其中3人失败了,只有一个人可以接受。 我该如何解决这个问题? 这是太大的性能损失,让大部分工作人员每次都在失败连接时失败。 这

    0热度

    1回答

    在我的客户端应用程序中,我使用epoll和udp套接字从服务器接收数据包。客户端应用程序有两个进程,p1和p2。 使用此函数获取fd的sock = socket(AF_INET,SOCK_DGRAM,0); 在方法P1中,插座()函数返回FD的从4 P1开始已经的fd的4,5,6,7,8等 在过程P2,插座()函数返回FD的从4开始。 P2有fd的4,5,6 现在在这两个进程中有相同的FD但端口号

    0热度

    1回答

    我有一个Tcp/IP与ssl服务器启用epoll,因此它可以同时处理一万个连接。当我试图测试服务器时,我使用线程创建了千个客户端。当我试图连接服务器时,在一定的时间connect()返回ETIMEOUT。如何克服这个错误?

    0热度

    1回答

    我一直在寻找this question的答案,我在Linux中遇到了函数timerfd_create和epoll。在教程中有人说,epoll_ctl()有一个epoll_data_t联合成员的epoll_event结构,它可以用来执行callback函数的事件触发。但我不确定如何去做。任何人都可以请帮忙。

    2热度

    1回答

    我读Redis的烃源代码和ae_epoll.c我发现下面的代码: static int aeApiPoll(aeEventLoop *eventLoop, struct timeval *tvp) { aeApiState *state = eventLoop->apidata; int retval, numevents = 0; retval = epoll_w

    1热度

    2回答

    我正在实施P2p文件共享的bit torrent。比方说,100个同时共享的最大数量。 TCP连接在每个对等端与其他对等端之间建立。最初,一个同伴拥有整个文件,并开始共享文件,随后,所有同行共享文件。 通常情况下,件尺寸是50kB - 1MB。我想知道,在C编写这样的应用程序的最佳方法是什么?使用epoll或libevent的线程? 任何人都可以给出不同的可能方法的积极/消极吗?

    1热度

    1回答

    我试图让libusb与epoll而不是poll一起工作,因为我已经在需要可扩展性的应用程序中使用epoll,并且只能在Linux上运行。我想知道libusb_get_pollfds这个打算轮询的events标志是否与epoll兼容。 例如,可以将POLLIN标志注册为epoll,并获得与EPOLLIN标志相同的行为,还是需要将这些事件标志映射到它们对应的epoll版本?

    1热度

    1回答

    我已经使用epoll实现了自己的事件处理机制,因此我已经有一个线程正在运行。我只想在我的事件循环中注册Aerospike FD。是否有可能这样做?或者它会产生一个新的线程?

    3热度

    1回答

    NGNIX使用epoll通知来了解套接字上是否有数据要读取。我们假设: 有两个请求到服务器。 nginx的是notificated了解这个两个请求,并且开始: 接收第一请求 解析IST头 检查boudary(车身尺寸) 发送向上游服务器的第一请求 等 nginx是单线程的,只能同时执行一个操作。 但第二个请求会发生什么? nginx在解析第一个请求时是否收到第二个请求? 或者在第一次完成后开始处理