- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我知道,如果远程主机优雅地关闭连接,epoll
将报告EPOLLIN
,并且调用read
或recv
不会阻塞,并且将返回0字节(即流结束)。
但是,如果连接未正常关闭,并且 write
或 send
操作失败,这是否会导致 epoll
随后为该套接字返回 EPOLLIN
,从而产生相同/相似的流结束场景?
我试图找到有关此行为的文档,但没有成功,虽然我可以测试它,但我对具有特定内核版本的特定发行版上发生的情况不感兴趣。
最佳答案
从规范中确实不完全明显,但它对于 poll()
的工作原理如下:
POLLIN
。POLLHUP
或 POLLERR
。shutdown(SHUT_WR)
),则返回 POLLIN
,但不返回 POLLHUP
和 POLLERR
。 (这允许正常等待POLLOUT
。)简单的做法是在设置了 POLLIN
、POLLHUP
和 POLLERR
中的任何一个时尝试读取。
在kqueue()
中,只有一个EVFILT_READ
过滤器可以被触发。这在手册页中有描述,应该足够清楚。
请注意,如果您不启用 TCP keepalive(FreeBSD 默认启用它们,但大多数其他操作系统不启用),如果网络以某些方式中断,则等待数据读取可能会永远卡住。即使 TCP keepalive 开启,也往往需要几个小时才能检测到断开的连接。
关于linux - "readable"(kqueue/epoll)由什么构成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665694/
您好,我正在使用 AWS EKS 开发 kubernetes。当我将 docker-compose 文件转换为 kompose 文件时,我遇到了 kompose 文件的问题,我遇到了卷挂载点问题,而且
在将密码转换为二进制哈希值以存储在数据库中时,我注意到除了通常的乱码之外,还有一些引号、空格和字母表,这些巧合可能构成有效 SQL 语句的一部分。 出于好奇,我想知道是否有人遇到过任何字符串在哈希后神
我的组件具有动态部分和 compose。动态部分在其他模块中,即节点项目。 如果我想在页面中使用自定义元素,例如: 我收到一条错误消息,指出无法在 ./my-custom-element/someV
我有一个 pandas 数据框,其中一列由数组组成。所以每个单元格都是一个数组。 假设数据框 df 中有一个列 A,这样 A = [ [1, 2, 3], [4, 5, 6],
当 HTTP 请求和响应在互联网上传输时,请求中文本的格式是什么?是 ASCII 码吗? 例子:如果 HTTP 请求如下所示 - GET /mysite/ HTTP/1.1 -- rest of t
我是一名优秀的程序员,十分优秀!