Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TCP客户端服务器使用epoll(EPOLLOUT | EPOLLET),EPOLLOUT事件只触发一次?_C - Fatal编程技术网

TCP客户端服务器使用epoll(EPOLLOUT | EPOLLET),EPOLLOUT事件只触发一次?

TCP客户端服务器使用epoll(EPOLLOUT | EPOLLET),EPOLLOUT事件只触发一次?,c,C,带有epollot | EPOLLET的epoll TCP只获取一次事件,即使在获取第一个事件后发送数据,也会超时 在UDP中,epoll在发送新数据后继续获取EPOLOUT事件 您能解释一下这个问题吗?ePortlet是边缘触发模式,这意味着它只会通知您状态转换。在这种情况下,当文件描述符从不可写变为可写时,它将通知您。使其不可写的唯一方法是填充传出缓冲区。因此,您需要一直发送,直到收到EAGAIN,然后等待通知。要显示一些代码吗?也许是一个?

带有epollot | EPOLLET的epoll TCP只获取一次事件,即使在获取第一个事件后发送数据,也会超时

在UDP中,epoll在发送新数据后继续获取EPOLOUT事件


您能解释一下这个问题吗?

ePortlet是边缘触发模式,这意味着它只会通知您状态转换。在这种情况下,当文件描述符从不可写变为可写时,它将通知您。使其不可写的唯一方法是填充传出缓冲区。因此,您需要一直发送,直到收到EAGAIN,然后等待通知。

要显示一些代码吗?也许是一个?