epoll

    2热度

    3回答

    我是使用epoll进行linux服务器编程的新手。 我有2个线程:Thread_Accept和Thread_epoll。前者是块接受循环,如果新连接即将到来,它将使用epoll_ctl()添加新的fd。后者是一个大的epoll_wait()循环。 现在我的问题是:如果当Thread_Acepts执行epoll_ctl()而Thread_epoll处于epoll_wait中间时呢?会有副作用吗? 在

    1热度

    1回答

    我一直在使用epoll的linux服务器,几乎完成它。 我意识到客户端将使用UDP :( 能否请您使用epoll的UDP提供我任何好的教程或实例发送数据包? 在此先感谢。

    0热度

    2回答

    成功时,epoll_wait(2)返回 准备 请求的文件描述符的I/O数,或零,如果没有 文件描述符期间 成为准备请求超时毫秒。 发生错误时,epoll_wait(2) 返回-1,errno设置为 。 假设epoll是ET触发的,将epoll_wait通知进程N次连接的N个socket还是只有一次?

    1热度

    1回答

    与监听套接字打交道是从man epoll页: 功能do_use_fd()使用新的 准备文件描述符 直到EAGAIN由要么读返回(2)或write(2) 。为ET 代码示例触发: for(;;) { nfds = epoll_wait(kdpfd, events, maxevents, -1); for(n = 0; n < nfds; ++n) { if(e

    1热度

    1回答

    我正在使用epoll进行网络编程。我想知道服务器没有收到所有发送的数据客户端的情况。例如,如果一个客户端发送了100个字节,并且某个服务器只收到了94个字节。我如何处理这种情况? 在此先感谢..

    3热度

    2回答

    我正在使用epoll进行网络编程。我有一个连接列表并将每个客户端放入列表中。如果用户正常断开连接,则可以通过读取0来检测用户断开连接。但是,如果用户以某种方式意外断开连接,则在尝试将数据发送给用户之前,无法知道这一点。 我不认为epoll提供了一个很好的方式来处理这个..所以我认为我应该自己处理这个问题。如果你们能向我提供任何有关此问题的例子或参考资料,我将非常感激。

    0热度

    1回答

    我在python中编写了一个epoll包装器,它工作正常,但是最近我发现性能对于大包发送来说并不理想。我期待下入代码,发现居然有错误 Traceback (most recent call last): File "/Users/dawn/Documents/workspace/work/dev/server/sandbox/single_point/tcp_epoll.py", lin

    0热度

    1回答

    while(m_severRun){ printf("ServerManager::eventAcceptLoop, epoll_wait\n"); int event_cnt = epoll_wait(m_epfd, m_events, EPOLL_SIZE, -1); if(event_cnt == -1){ perror("epoll_wait e

    1热度

    4回答

    假设客户端发送了100个字节的数据,但不知何故服务器只收到了90个字节。我如何处理这种情况?如果服务器在while循环内部调用“read”函数来检查接收到的总数据,那么服务器将永远等待包的最后10个字节。 此外,可能发生客户端在数据传输中断。在这种情况下,服务器也将永远等待,直到它收到所有不会到达的数据。 我正在使用tcp,但在现实世界的网络环境中,可能会发生这种情况。在此先感谢...

    3热度

    3回答

    我正在使用epoll进行网络编程。这似乎工作正常。我想添加一个超时函数,所以如果客户端长时间没有发送任何东西,那么它只会断开客户端。 我该怎么做?我知道我可以设置在epoll_wait超时,但是,这不是个别插座...提前 谢谢...