![]() |
1
1
我认为您没有包含足够的代码来获得完整的图片,但这一行看起来很可疑:
这有几个问题。第一,
您还必须记住,每个插座都有两面。在用户空间中有您与之关联的结构和套接字句柄,然后有管理低级细节的内核对象。仅仅因为关闭了用户端的句柄并不意味着内核对象会消失。内核对象被引用计数,通常会一直持续到涉及这些对象的所有I/O完成为止。 这就是为什么从程序的角度来看,一个套接字被“销毁”之后,您仍然可以得到它的I/O通知。尤其是插座,关闭程序将发生。 之后 您已经关闭了句柄(因为在此之前没有显式关闭套接字)。 不要响应特定的消息而破坏客户机对象,只需关闭套接字句柄并清理其他结构以响应中止通知。您还可以考虑执行优雅的断开连接,而不是中止连接。 |
![]() |
Nelson Mongare · 套接字生成错误 8 年前 |
|
bingoStack · winsock客户端套接字无效 9 年前 |
![]() |
AlainD · 获取Delphi中所有连接的IP地址 10 年前 |
![]() |
Ira · delphi中类似于Netcat的监听程序不会发回命令 10 年前 |
![]() |
darekg11 · 接收总是少接收1个字节 10 年前 |
![]() |
AYMADA · WinSock-长时间获取本地IP地址 11 年前 |
![]() |
Eduardo Elias · 获取有关已安装网络适配器的信息 11 年前 |
|
user1803300 · 如何强制处理线程内的消息? 12 年前 |