epoll

    3热度

    1回答

    我想了解epoll()与select()和poll()不同。 select()和poll()非常相似。 select()允许您监视多个文件描述符,并且它可以检查这些文件描述符中的任何一个是否可用于操作(例如读取,写入)而没有阻塞。当超时到期时,select()返回准备好的文件描述符,程序可以在不阻塞的情况下对这些文件描述符执行操作。 ... FD_ZERO(&rfds); FD_SET(0,

    0热度

    1回答

    我一直在试图使一个服务器和客户端使用epoll聊天一个星期。因为我是网络新手的新手,所以我挣扎过多。我结束了这个代码。 (注意:我现在用telnet连接到我的服务器):http://textuploader.com/5e0ts 我该如何发送数据到epoll实例中所有已注册的fds?我正在尝试在主循环的循环内执行此操作,但它不起作用。

    1热度

    1回答

    从kernel.org联的,在所述的http://man7.org/linux/man-pages/man2/epoll_ctl.2.html手册页,声明epoll_ctl过程如下: int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event); 可以明显看出,所述event参数被声明为指向struct epoll_eve

    0热度

    1回答

    我有一个Connection对象,表示由epoll管理的连接。在事件中,调用Connection::eventWrite()或Connection::eventRead()。连接是永久的(始终存在)。 我需要通过该Connection从另一个线程发送数据,但不希望直接访问对象Connection,因为我不想解决Connection对象内部多线程问题(Connection从epoll -thread

    0热度

    1回答

    我很少知道epoll,检查一些文件,然后想后,运行这样的: while(true){ epoll_wait(some_sock_fds); foreach(usable_fds){ handler(one_fd); <----- this function must be non-blocking ? } } 在handler功能应该有一些关于网络的

    0热度

    1回答

    epoll_insert功能被sys_epoll_ctl调用。 有在epoll_insert功能的一些关键步骤: 使用队列回调初始化调查表:ep_ptable_queue_proc 而且它会调用file->f_op->poll 如果该文件是已经“准备就绪”,然后我们将其放入就绪列表中 /* If the file is already "ready" we drop it inside the r

    2热度

    1回答

    我有用C编写的单线程服务器,它接受基于EPOLL的TCP/UDP连接并支持我们需要支持的大量协议层的插件。这一点很好。 由于单线程的性质,我想实现,可以利用相同的架构EPOLL而不是单独遍历所有打开的连接的数据库层。 我们使用MariaDB和在其API中支持非阻塞函数的MariaDB连接器。 https://mariadb.com/kb/en/mariadb/using-the-non-block

    0热度

    1回答

    我使用python的epoll,但它不能像使用C++一样使用event.data.ptr。 有时我会注册类A.fd有时我会注册类B.fd。 那么,当epoll.poll()返回,我怎么知道fd属于类A或B?

    -1热度

    1回答

    我用做在服务器端的插口上一次失败的关闭: struct linger so_linger; so_linger.l_onoff = 1; so_linger.l_linger = 0; setsockopt(s, SOL_SOCKET, SO_LINGER, &so_linger, socklen_t)sizeof(so_linger)); shutdown(s, SHUT_WR);

    1热度

    2回答

    我想在epoll和poll之间进行性能比较,看起来在Linux下,netty会一直使用epoll,有没有什么办法(配置)为我使用民意调查做沟通?