epoll

    0热度

    3回答

    工会epoll_data_t样子: typedef union epoll_data { void *ptr; int fd; __uint32_t u32; __uint64_t u64; } epoll_data_t; 这更多的是一种通用C问题,但为什么用领先的双下划线__uint {} 32,64类型,而不是只有uint {32,64}没有下划线

    0热度

    1回答

    我最近开始在Linux下学习网络编程,看来我无法找出正确的方法来检测是否建立了与远程主机的连接。 ATM所有未建立的连接都在epoll实例中注册。一旦EPOLLOUT标志设置为1的事件到达,连接就被标记为已建立。像这样容易,但我做对了... 有没有更好的方式做到这一点?如果不是,等待套接字是否可写是确保连接已建立的好方法?

    20热度

    2回答

    我需要了解关于Epoll on linux系统。 你能推荐关于epoll库的手册或指南吗? 需要更详细的指南。举一些例子比较好。 帮助我。并感谢您的阅读。

    7热度

    3回答

    任何人都可以请帮我回答关于epoll_wait的问题。 是不是矫枉过正使用调用epoll_wait上设置为服务于约100K的活动套接字相同FDS多线程?或者仅仅创建一个线程来执行epoll_wait就足够了? 例如,只有一个套接字准备好读取数据时,会从epoll_wait中唤醒多少个线程?我的意思是,当有两个或更多的线程从epoll_wait唤醒但是在结果事件中会有相同的fds时,是否会出现这种情

    0热度

    1回答

    我已经目前订阅非阻塞插座: ev.events = EPOLLIN | EPOLLPRI | EPOLLERR | EPOLLHUP | EPOLLRDHUP| EPOLLET; 它接收一对夫妇EPOLLINs的我读非阻止直到EAGAIN,然后我收到HUP & RDHUP,有时还有几个字节需要读取。 对方就是: send(socket,960_bytes_buffer) close(sock

    0热度

    1回答

    我正在写一个聊天程序和服务器,当我发送数据可以send()函数需要很长时间发送数据? 这是我的问题: 我使用linux 2.6与epoll,服务器在单线程 如果发送()块,那么这意味着服务器上的所有其他活动将停止。就好像如果有一个非常慢的客户端不会长时间向TCP数据包发送ACK响应,发送功能是否会马上移动,或者是否会等待客户端很长时间。我不想要的是一个/几个慢速客户端导致聊天服务器延迟。 我想要的

    7热度

    2回答

    我以为我会使用Boost.Interprocess的Message Queue代替一个主机内的通信套接字。但在深入研究之后,似乎由于某种原因该库避开了POSIX消息队列工具(我的Linux系统支持),而是在POSIX共享内存之上实现。界面非常相似,你可能不会马上猜到,但似乎是这样。 我的缺点是,通过shm_open(3)获得的共享内存看起来不适用于select(2),与通过mq_open(3)获得

    0热度

    2回答

    问候, 我想知道如果在组合使用计时器与Linux的民意测验/ epoll的API的方式。 我已经使用epoll,它会整合非常好的现有代码,如果我可以让计时器成为我队列中的另一个epoll事件。 一种可能的方法,大概是,基于文件的定时器,如 echo 400;now > /dev/timer ; cat /dev/timer ; # outputs after 400ms "now" 只是作为一