c++ - 使用 libuv 检测 TCP 断开连接的正确方法
问题描述
在服务器部分,我如何检测到一个已连接的客户端(TCP 流)刚刚断开连接?
解决方案
@MSalters,我终于找到了答案。“uv_read_start”的libuv回调函数在connexion关闭时不返回0(nread!= 0),它返回UV_EOF。在我的配置中,UV_EOF 是 -4095。当 nread == UV_EOF 时发生断开连接。我认为可以在与句柄关联的 FD 上进行 posix 读取,但这一点也不漂亮(而且更复杂,因为 IO 是异步的......)。
推荐阅读
- pythonanywhere - 如何使用 react native 将文件上传到 pythonanywhere?
- c - 变量超出了 for 循环中的指定限制
- c++ - “表达式必须是可修改的左值”是什么意思?
- flutter - 导航到其他屏幕时路由抛出异常“有多个英雄在子树中共享相同的标签”
- nginx - proxy_pass 到 HTTP 协议后如何保存 HTTPS 协议?
- java - 该按钮不可见,它将连接 android studio 中的另一个活动
- android - 如何在“自定义”工具栏的菜单项上使用 setOnClickListner?
- swift - 下拉表格视图 - 斯威夫特
- flutter - 如何使用 firebase_auth 和 provider 检测身份验证更改
- java - 仅使用一个 if 条件找到两个中的最大数?