CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  网络通信

高分请教一个关于完成端口中套接字的关闭问题.

楼主datuhao(峡谷)2006-03-03 15:57:05 在 专题开发/技术/项目 / 网络通信 提问

问题描述:  
   
        我的程序中使用完成端口关联了很多套接字,我想在另外一条线程中(非工作线程)关闭其中一个套接字上的连接的话,我发现会有问题的.当我在另一条线程中(比如叫线程a)关闭该套接字,并回收了该套接字的相关资源后,工作线程中的GetQueuedCompletionStatus()调用有时候还是能返回该套接字上的事件(比如连接的另一端不停发数据过来),而这个套接字刚才已经在线程a中已经被关闭了,所以再处理该事件就会有问题.  
   
        所以我想请教一下,如何主动关闭一个关联到完成端口的连接.非常感谢. 问题点数:100、回复次数:4Top

1 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-03-03 22:33:34 得分 25

应该等尚未完成的IO完成再清理相应的资源!Top

2 楼alwaysakid(老A)回复于 2006-03-12 03:57:20 得分 25

继续接收到的事件是在socket关闭之前已经触发的,  
  最简单的方法是把关闭的命令封装后投递到完成端口,由Get的那个线程执行  
  系统保证投递是有序的Top

3 楼sdf123321()回复于 2006-03-31 22:25:10 得分 25

postPostQueueCompletionStatusTop

4 楼honghaier(红孩儿)回复于 2006-04-14 10:01:16 得分 25

按楼上的函数调用进行关闭Top

相关问题

  • 如何关闭已经打开的端口?System.Net.Sockets.SocketException: 通常每个套接字地址 (协议/网络地址/端口) 只允许使用一次
  • 高分请教一个关于完成端口中套接字的关闭问题.
  • 如何关闭端口
  • 怎样实现端口扫描和关闭某一端口?
  • 如何关闭一个端口啊?比如135端口。
  • 如何关闭指定的端口?
  • 如何关闭完成端口
  • 任何暂时关闭某个端口?
  • 如何关闭135、139端口?
  • 如何关闭指定端口?

关键词

  • 端口
  • 线程
  • 连接
  • 关闭
  • 接字
  • 完成端口
  • 问题
  • 事件

得分解答快速导航

  • 帖主:datuhao
  • DentistryDoctor
  • alwaysakid
  • sdf123321
  • honghaier

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo