如果数据在 SAN 上收到一个 Accept() 后的右 FD_READ 事件不被信号已连接的套接字

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 289232
本文已归档。它按“原样”提供,并且不再更新。
症状
在系统区域网络 (SAN) 连接上侦听套接字,然后数据使用 EventSelect 调用的程序时右后到达 接受,程序可能无限期地等待 FD_READ 事件已连接套接字上的通知。

此外,另一个的争用条件可能会导致在以下情况下:
  • 可用的侦听待办事项已成为零。
  • 在服务器端调用 接受,它按一项来增加可用的待办事项。
  • 增量进行之前,将尝试进行连接。
此竞争条件导致服务器拒绝连接。
原因
出现此现象的原因在于 Windows 2000 Afd.sys 驱动程序包含不正确的设置。
解决方案
若要解决此问题,获得最新的 service pack,对于 Windows 2000。有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
260910如何获取最新的 Windows 2000 服务软件包
状态
Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中的问题。

Windows 2000 Service Pack 2 中,第一次已得到纠正此问题。
更多信息
许多程序使用 WSAEventSelectWSAEnumNetworkEvents / WaitForSingleObject 调用网络发生事件的一套接字上的通知。等待 FD_READ 事件已连接的套接字上的任何程序可以运行到此问题这将导致无限期地等待 FD_READ 通知该程序线程。

警告:本文已自动翻译

属性

文章 ID:289232 - 上次审阅时间:10/23/2013 16:28:23 - 修订版本: 3.2

Microsoft Windows 2000 Server SP1, Microsoft Windows 2000 Advanced Server SP1, Microsoft Windows 2000 Professional SP1

  • kbnosurvey kbarchive kbmt kbbug kbfix kbnetwork KB289232 KbMtzh
反馈