在边沿触发模式下从 epolled、非阻塞套接字进行接收
任何人都可以给我一个在边缘触发模式下从 epoll ed、非阻塞套接字接收 recv
的示例吗?我问是因为我有一些麻烦。
Can anyone give me an example for recv
from epoll
ed, nonblocking socket in edge-triggered mode? I ask because I have some troubles.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
EPOLLET 设置的手册页如下:
使用 epoll 作为边缘触发 ( EPOLLET ) 接口的建议方法如下,以及需要避免的可能陷阱。
编辑:
您还可以调用recv() 或read() 获取x 个字节,直到收到的字节数少于x 个字节。
如果不这样做,可能会导致数据保留在套接字缓冲区中并阻止套接字上的 ET 活动的情况。
你有什么问题吗?
The man page, for EPOLLET set-up has:
The suggested way to use epoll as an Edge Triggered ( EPOLLET ) interface is below, and possible pitfalls to avoid follow.
Edit:
You can also call recv() or read() for x number of bytes until you receive less than x bytes.
If you don't do this you can create a starved situation where data remains in the socket buffer and prevents the ET activity on the socket.
What problem are you having?