Ark*_*nez 0 sockets linux epoll nonblocking
我有一个目前订阅的非阻塞套接字:
ev.events = EPOLLIN | EPOLLPRI | EPOLLERR | EPOLLHUP | EPOLLRDHUP| EPOLLET;
Run Code Online (Sandbox Code Playgroud)
它收到一些EPOLLIN,我读到非阻塞直到EAGAIN,然后我收到HUP和RDHUP,有时候还有几个字节要读.
另一方面是:
send(socket,960_bytes_buffer)
close(socket);
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用msg_peek直接在epollin和关闭时间的事件循环中进行recv,并且添加接收数据它总是不会收到960,有时只有大约480字节.
在发送和关闭之间使套接字无阻塞或在客户端中进入休眠(1)工作正常.
它看起来更像是一个非阻塞套接字的问题而不是与epoll相关的问题.简单的"nc -l -p port"接收适当的字节数.
归档时间: |
|
查看次数: |
1358 次 |
最近记录: |