iocp端口断开_iocp 关闭 | 学步园
1.完成端口针对的是句柄,只要句柄可进行重叠IO操作的都可以使用。
2.基本流程为
用无参数的createIOcompleteport方法建立完成端口。
建立GetQueuedCompletionStatus循环线程
创建关联句柄。
用带参数的createIOcompleteport方法绑定关联句柄和完成端口。
执行带重叠io的操作
3.通过区分GetQueuedCompletionStatus所带的2个参数,可确定来源。
4.如果操作失败,GetQueuedCompletionStatus会直接返回,但如果在GetQueuedCompletionStatus处理过程中再次操作重叠io并失败,GetQueuedCompletionStatus不会处理。
5.如果用AcceptEX处理连接,如果对方在AcceptEX处理之前连接上又断掉(这些连接请求会保存在Listen socket的连接请求队列中),GetQueuedCompletionStatus也会返回,这时就需要判断第一个WSARecv是否成功,如果失败的话就直接closesocket,需要继续接受处理的话就再建立一个socket并acceptex,最后绑定到完成端口
6.如果使用disconnectEX,它也会导致GetQueuedCompletionStatus返回,所以要对其专门做处理。
7.一般的断线检测
一是检查WSARecv导致GetQueuedCompletionStatus返回处理字节为0的时候
二是检测WSARecv是否正常开启重叠IO的时候。
8.overlapped结构,acceptec和WSARecv可以都用同一个,可以在断线后释放,而send,disconnectex的必须自己new一个新的,并在处理完后立即释放。
iocp端口断开_iocp 关闭 | 学步园相关推荐
- iocp端口断开_在完成端口IOCP模型判断客户端是否已关闭连接(掉线) | 学步园
判断客户端是否关闭: 1 GetQueuedCompletionStatus 返回 FALSE,根据错误号判断. 2 客户端端定时发送(也就是心跳包判断) 补:GetQueuedCompletionS ...
- centos mysql stop_[MySQL] 在Centos下的启动和关闭 | 学步园
现在主流的Unix系统有两种风格:System V和BSD,他们的区别如下: Linux作为类Unix,同样也存在这两种风格,其中Centos属于System V,本文主要介绍在Centos下(即Sy ...
- 重启oracle ora-01033,解决连接ORACLE错误一例:ORA-01033: ORACLE 正在初始化或关闭 | 学步园...
客户发现连接数据库有问题,错误有: ORA-01033: ORACLE 正在初始化或关闭 ORA-00600: 内部错误代码 首先修改环境变量,保证cmd下访问到正确的oracle监听,如: E:\o ...
- mysql 异常关机后 无法查数据_MySQL数据库非法关机造成数据表损坏怎么排查 | 学步园...
该篇文章我们介绍由于非法硬件关机,造成了MySQL数据库的数据表损坏,数据库不能正常运行的一个实例.下面学步园小编来讲解下MySQL数据库非法关机造成数据表损坏怎么排查? MySQL数据库非法关机造成 ...
- netmiko 记录日志_Pythonnetmiko模块的使用 | 学步园
一.简介 此模块用于简化paramiko与网络设备之间的ssh连接,可在windows与Unix平台使用 二.目前支持的设备 (2019.03.07) Regularly tested Arista ...
- Dos命令 netstat -ano 查看端口占用及关闭进程
Dos命令查看端口占用及关闭进程 1. 查看端口占用 2. 关闭进程 3. 端口状态 netstat -ano ---------该命令是查看当前哪些端口正在被使用 1. 查看端口占用 在windo ...
- Dos命令查看端口占用及关闭进程
Dos命令查看端口占用及关闭进程 1. 查看端口占用 在windows命令行窗口下执行: netstat -aon|findstr "8080" TCP 127.0.0.1:80 ...
- layui上传图片列表展示_layui怎么做图片在列表中显示 | 学步园
layui table中显示图片的方法: 图片需要用到模板.templet: 注意div不可省略,48px指的是div的高度,如果要决定img图片的高度,需要单独设计style ',style:'he ...
- Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放;服务器端口开放与关闭
Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放:服务器端口开放与关闭 文章目录: 1 问题分析 2 在Centos上开启和关闭端口 2.1 C ...
最新文章
- 最后的分的计算机公式,省考最后10天!掌握这些数学运算公式,提分!
- linux睡眠当前进程,linux-0.11中进程睡眠函数sleep_on()解析
- 独家 | 如何“扰乱”科技巨头用来监视你的数据
- 红帽虚拟化RHEV-PXE批量安装RHEV-H
- golang web 框架 gin beego iris 对比
- 腾讯再次劝退高龄员工,IT人的中年危机,我来教你化解!
- NLP领域最近比较火的Prompt,能否借鉴到多模态领域?一文跟进最新进展
- idea怎么将本地文件和远程git对比_IDEA新建本地项目关联远程git仓库
- js--属性和方法(私有/公有)
- linux离线卸载docker,Linux系统下Docker的安装与卸载
- UI设计中关于按钮的那些事
- 总结使用Unity 3D优化游戏运行性能的经验
- 满纸荒唐言:Processing 寻觅文字魅力篇
- nu.xom:Attribute
- IDEA怎样自定义 Touch Bar
- php仿qq聊天界面,jquery仿微信聊天界面
- c语言void结尾,C语言中void*详解及应用
- RTK+GPS提高定位精度原理解析
- LeetCode 区间子数组个数
- 更改zabbix数据库mandatory