Wininet异步处理中回调线程何时退出的问题

thinp 2012-07-13 08:06:03
在使用Wininet异步处理程序时(包括MSDN例子程序,微软官网上程序),当接收完成,关闭所有句柄之后,程序还会留下好几个线程,有谁知道如何清理这些线程?或是什么时候这些线程会自己消失?
...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
diybl 2013-09-03
  • 打赏
  • 举报
回复
找到原因了 那个线程池应该有个时间存活期 打开1-2分钟后线程就会自动释放掉
diybl 2013-09-03
  • 打赏
  • 举报
回复
我觉得wininet内部一个有个线程池 但是不知道怎么才能清理这个线程池
diybl 2013-09-03
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
只要你释放了正确的句柄等,那些线程应该会自动释放
这个bug我也遇到了 我也正确关闭句柄了 但是线程就是没释放
oyljerry 2012-07-13
  • 打赏
  • 举报
回复
只要你释放了正确的句柄等,那些线程应该会自动释放
第1章 计算机网络体系结构 1 1.1 网络术语及其拓扑结构 1 1.1.1 服务器、客户机和节点 1 1.1.2 本地资源和远程资源 1 1.1.3 网络操作系统 2 1.1.4 网络协议 2 1.1.5 网卡、桥和路由器 2 1.1.6 Intranet 3 1.1.7 拓扑结构 3 1.2 开放系统互连参考模型 3 1.2.1 物理层 4 1.2.2 数据链路层 4 1.2.3 网络层 5 1.2.4 传输层 5 1.2.5 会话层 5 1.2.6 表示层 6 1.2.7 应用层 6 1.2.8 OSI模型综述 6 1.3 TCP/IP参考模型 8 1.3.1 网络接口层 8 1.3.2 网际层 9 1.3.3 传输层 9 1.3.4 应用层 10 1.4 网络接口层及其相关协议 10 1.4.1 面向字符的链路层协议和面向比特的链路层协议 10 1.4.2 高级数据链路控制规程HDLC 11 1.4.3 X.25的链路层协议LAPB 13 1.4.4 点到点协议(PPP) 13 1.5 网际层及其相关协议 14 1.5.1 IP 14 1.5.2 消息控制协议 18 1.5.3 地址解析/反向地址解析协议 20 1.6 传输层及其相关协议 21 1.6.1 面向连接的TCP 21 1.6.2 无连接UDP 22 1.7 应用层及其相关协议 22 1.8 Intranet网络系统 23 1.8.1 Intranet网络组成 23 1.8.2 Intranet硬件结构 24 1.8.3 Intranet软件结构 25 1.9 小结 26 第2章 NetBIOS编程 27 2.1 Microsoft NetBIOS 27 2.1.1 LANA编号 28 2.1.2 NetBIOS名字 28 2.1.3 NetBIOS特性 31 2.2 NetBIOS基础 31 2.3 NetBIOS例程 33 2.3.1 异步回调模型 39 2.3.2 异步事件模型 43 2.3.3 NetBIOS会话客户端 47 2.4 其他NetBIOS命令 50 2.4.1 适配器状态 51 2.4.2 查找名字 52 2.4.3 对应传送协议同LANA编号 53 2.5 搜索指定网段内计算机 53 2.6 小结 58 第3章 重定向器、邮槽和管道 59 3.1 重定向器 59 3.1.1 命名规范 59 3.1.2 网络提供者 61 3.1.3 重定向器简介 61 3.1.4 服务器消息块 62 3.1.5 安全问题 62 3.1.6 网络安全 64 3.1.7 实例 64 3.2 邮槽 65 3.2.1 邮槽简介 66 3.2.2 基本客户端/服务器 68 3.2.3 其他邮槽API 74 3.3 管道 74 3.3.1 匿名管道 75 3.3.2 命名管道 77 3.3.3 客户端与服务器基础 83 3.3.4 其他API 97 3.3.5 命名管道通信 99 3.4 小结 103 第4章 网络协议TCP/IP 105 4.1 协议特征 105 4.1.1 面向消息 105 4.1.2 面向连接和无连接 106 4.1.3 可靠性和次序性 106 4.1.4 从容关闭 107 4.1.5 广播数据 107 4.1.6 多播数据 107 4.1.7 服务质量 107 4.1.8 部分消息 108 4.1.9 路由选择的考虑 108 4.1.10 其他特征 108 4.2 支持的协议 108 4.2.1 支持的Win32网络协议 109 4.2.2 Windows CE网络协议 110 4.3 网际协议(IP) 110 4.3.1 IP主要特征 110 4.3.2 IP数据报格式 111 4.3.3 IP服务定义和原语 116 4.3.4 IPv6 118 4.4 传输层协议TCP和UDP 123 4.4.1 传输层连接和端口地址 124 4.4.2 用户数据报协议(UDP) 127 4.4.3 传输控制协议TCP 129 4.4.4 定址 137 4.4.5 创建套接字 139 4.4.6 名字解析 139 4.4.7 端口号 140 4.5 TCP/IP安全性分析 141 4.5.1 TCP/IP整体构架安全分析 141 4.5.2 安全性和提高安全性方法 142 4.6 Winsock 2协议信息 145 4.7 具体平台的问题 147 4.8 综合实例 148 4.8.1 枚举系统支持网络协议 148 4.8.2 选择网络协议 156 4.8.3 TCP/IP信息统计 160 4.8.4 IP包监视 171 4.9 小结 178 第5章 局域网编程 179 5.1 局域网概述 179 5.1.1 局域网简史 179 5.1.2 局域网特点 180 5.1.3 局域网组成 180 5.2 网络接口卡与硬件编址 180 5.2.1 网卡基本结构 180 5.2.2 网卡参数 181 5.2.3 硬件编址与包过滤 182 5.2.4 硬件编址方式 183 5.2.5 广播与组播 184 5.2.6 帧格式 184 5.2.7 隐式帧网络 185 5.3 局域网拓扑结构 186 5.3.1 星型拓扑结构 186 5.3.2 环形拓扑结构 186 5.3.3 总线拓扑结构 187 5.3.4 树型结构 188 5.3.5 点对点连接 188 5.3.6 网状结构 188 5.4 局域网体系结构 189 5.4.1 IEEE 802局域网参考模型 189 5.4.2 IEEE 802局域网标准 191 5.4.3 以太网技术 192 5.4.4 令牌环网 196 5.5 综合实例 198 5.5.1 获取网卡信息1 198 5.5.2 获取网卡信息2 201 5.5.3 获取网卡信息3 203 5.6 小结 211 第6章 Winsock基础 212 6.1 套接字 212 6.2 Socket编程模型与Winsock规范 214 6.2.1 Socket编程模型演化 215 6.2.2 Winsock套接字主要特点 216 6.3 初始化Winsock 217 6.4 建立Windows套接字 218 6.5 错误检查和控制 220 6.6 面向连接的协议 221 6.6.1 服务器API函数 221 6.6.2 客户端API函数 225 6.6.3 数据传输 228 6.6.4 流协议 231 6.6.5 断连接 233 6.6.6 综合分析 233 6.6.7 有连接通信示例 241 6.7 无连接协议 243 6.7.1 bind 243 6.7.2 创建服务器套接字 246 6.7.3 接收端 246 6.7.4 发送端 247 6.7.5 基于消息的协议 248 6.7.6 释放套接字资源 249 6.7.7 综合分析 249 6.7.8 无连接通信 255 6.8 其他API函数 258 6.9 小结 260 第7章 Winsock API高级编程 261 7.1 Winsock 输入/输出 261 7.1.1 套接字模式 261 7.1.2 I/O模型 264 7.2 套接字选项 302 7.2.1 SOL_SOCKET选项 303 7.2.2 IPPROTO_IP选项 308 7.2.3 IPPROTO_TCP选项 311 7.2.4 NSPROTO_IPX选项 311 7.3 套接字输出/输出控制 314 7.3.1 标准I/O控制 315 7.3.2 其他I/O控制 315 7.3.3 安全套接字层的I/O控制 320 7.4 原始套接字与底层传输协议 321 7.4.1 创建原始套接字 322 7.4.2 ICMP的实现 323 7.4.3 Internet组管理协议 336 7.4.4 IP_HDRINCL的使用 338 7.5 综合实例 345 7.5.1 枚举TCP和UDP连接状态 345 7.5.2 Ping实例 351 7.6 小结 357 第8章 MFC Winsock高级编程 359 8.1 Web基础知识 359 8.1.1 客户端 359 8.1.2 服务器 360 8.1.3 HTTP 362 8.2 HTTP服务器设计 363 8.2.1 同步操作 364 8.2.2 错误异常处理 364 8.2.3 发送/接收超时处理 364 8.3 创建自己的Winsock类 365 8.3.1 CSockAddress辅助类 365 8.3.2 CMyBlockSocketException类 367 8.3.3 CMyBlockSocket类 368 8.3.4 CMyHttpBlockSocket类 373 8.4 HTTP服务器示例 375 8.5 小结 386 第9章 深入UDP 387 9.1 局域网广播 387 9.1.1 广播通信的优缺点 387 9.1.2 广播通信实现 387 9.2 多播通信 389 9.2.1 多播的含义 389 9.2.2 IP多播 391 9.2.3 多播与Winsock 393 9.2.4 IP多播实例 407 9.3 多媒体通信与常规服务质量 412 9.3.1 背景知识 412 9.3.2 QOS和Winsock 416 9.3.3 QOS止 421 9.3.4 QOS编程 429 9.3.5 语音全双工通信 434 9.4 小结 450 第10章 WinInet API开发 451 10.1 WinInetWinsock 451 10.2 使用WinInet API 452 10.2.1 句柄 452 10.2.2 错误处理 452 10.2.3 缓冲区参数 452 10.2.4 异步I/O 452 10.3 Internet函数 453 10.3.1 常用Internet函数 453 10.3.2 FTP客户端函数 459 10.3.3 HTTP客户端函数 461 10.3.4 Gopher客户端函数 465 10.4 WinInet API编程 465 10.4.1 HTTP客户编程 466 10.4.2 Cookies编程 468 10.4.3 FTP客户编程步骤 469 10.5 MFC WinInet类 472 10.5.1 WinInet类编程模型 473 10.5.2 其他常用函数 478 10.6 深入MFC WinInet类 482 10.6.1 CInternetSession类 483 10.6.2 连接类 483 10.6.3 文件类 484 10.6.4 CInternetException类 485 10.6.5 MFC WinInet类的关系 485 10.6.6 使用CInternetSession 486 10.6.7 FTP服务器处理 489 10.6.8 HTTP服务器处理 492 10.6.9 Gopher服务器处理 495 10.6.10 实现Internet查询 497 10.7 综合实例 505 10.7.1 多线程HTTP服务器 505 10.7.2 FTP客户端开发 529 10.8 小结 559 第11章 网络协议实现及应用 560 11.1 实现HTTP 560 11.1.1 HTTP 560 11.1.2 实现HTTP客户端 568 11.2 实现Telnet协议 572 11.2.1 Telnet协议 573 11.2.2 创建Telnet客户端 576 11.3 实现FTP 587 11.3.1 FTP 588 11.3.2 FTP应用程序 593 11.4 代理服务器 602 11.4.1 Socket 5协议 602 11.4.2 HTTP代理服务器 604 11.4.3 支持Socket5代理 615 11.5 信报API 622 11.5.1 MAPI结构 622 11.5.2 在MFC支持MAPI 624 11.5.3 通用信报调用 626 11.5.4 简单MAPI 633 11.5.5 扩展MAPI和OLE信报库 633 11.6 小结 633 第12章 综合实例 634 12.1 管道高级通信 634 12.2 电子邮件检查程序 647 12.3 文件下载 661 12.4 网络版五子棋游戏 675 12.5 小结 687

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧