使用 kqueue 确定套接字另一侧的挂起或套接字的异常状态
我已阅读 man 2 kqueue
,但尚未发现如何在不使用 EVFILT_READ
或 注册的情况下获得有关套接字挂起或套接字异常情况的通知EVFILT_WRITE
。除此之外,尚不完全清楚 kqueue 如何发出套接字的异常状态信号。
感谢您提前的答复。
I've read man 2 kqueue
but have not found out how I can get notified about a socket hangup or exceptional condition of the socket without registering it with EVFILT_READ
or EVFILT_WRITE
. Apart from this it is not fully clear how kqueue signals exceptional states of sockets altogether.
Thanks for your answer in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在忽略所有 READ 事件的同时获取 EOL 事件的一个技巧是为 NOTE_LOWAT 提供一个高得离谱的值,从而抑制所有 READ 事件。
下面是一个在 Python REPL 中执行此操作的示例:
此外,FreeBSD 上不存在异常状态之类的东西,引用
man 2 select
:A trick that can be used to get EOL events while ignoring all READ events is to supply a ridiculously high value to NOTE_LOWAT, thus suppressing all READ events.
Here's an example doing this in a Python REPL:
Moreover, there is no such thing as exceptional state on FreeBSD, to quote
man 2 select
: