Winsock - 10038错误 - Win2K3服务器 - 令人费解的行为

时间:2008-09-19 06:37:32

标签: windows-server-2003 winsock

尝试通过套接字发送消息失败,并出现WinSock错误10038.大约40秒后,从同一个套接字成功接收消息,随后send()也在同一个套接字中成功。在Windows Server 2003中已经见过这种行为。这是WinSock和Windows Server 2003的任何已知行为吗?

3 个答案:

答案 0 :(得分:4)

Winsock错误10038表示“尝试对非套接字的操作进行操作”。

找到有关错误代码的信息的小技巧(对各种Windows错误代码都很有用):

  • 打开命令提示符
  • 输入“net helpmsg 10038”

您的申请书是用哪种语言撰写的?如果它是C / C ++,那么你是否使用了无效的套接字句柄?

答案 1 :(得分:1)

非常感谢a_mole检查分层winsock提供程序的想法。我们的PC和TimesTen数据库存在问题。当我们尝试设置和ODBC客户端DSN时,我们得到10038错误。在检查受影响的PC的netsh输出时,我们发现他们安装了Wave Systems的Embassy Trust Suite。显然戴尔在他们的一些PC上预装了这个。无论如何,在卸载这个软件时,问题已经解决了。

再次感谢

答案 2 :(得分:0)

不是平台问题,我可以保证。最有可能的是,用于访问套接字句柄的任何变量都不是线程安全的,并且在创建实际套接字之前在send()调用中使用。

另一个可能的原因是存在分层的winsock提供程序。 cmd提示符下的“netsh winsock show”将显示已安装的提供程序,您可以尝试删除任何非Microsoft软件。