Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;程序cann';由于错误代码10093,无法连接到服务器_C++_Sockets_Dll_Server_Winsock - Fatal编程技术网

C++ C++;程序cann';由于错误代码10093,无法连接到服务器

C++ C++;程序cann';由于错误代码10093,无法连接到服务器,c++,sockets,dll,server,winsock,C++,Sockets,Dll,Server,Winsock,我在我的项目中使用了一个DLL文件,它在其他一些项目中使用了很多年,我确信它工作正常 当我从DLL调用方法f1时,会打开一个客户端会话并连接到服务器,我会遇到一个系统套接字错误。当我使用WSAGetLastError()时,它返回10093 我在谷歌上搜索了这个错误,有人建议使用“netsh winsock reset”来纠正操作系统中的一些错误配置。但是,reset可能会更改我需要的某些配置 我的操作系统是Windows10,我只需调用f1方法 如何在不更改系统中不相关的配置的情况下修复此错误

我在我的项目中使用了一个DLL文件,它在其他一些项目中使用了很多年,我确信它工作正常

当我从DLL调用方法
f1
时,会打开一个客户端会话并连接到服务器,我会遇到一个系统套接字错误。当我使用WSAGetLastError()时,它返回10093

我在谷歌上搜索了这个错误,有人建议使用
“netsh winsock reset”
来纠正操作系统中的一些错误配置。但是,
reset
可能会更改我需要的某些配置

我的操作系统是Windows10,我只需调用
f1
方法


如何在不更改系统中不相关的配置的情况下修复此错误?我无法对DLL的方法进行任何更改。

Winsock已被引用计数。成功调用
WSAStartup()
会增加refcount,成功调用
WSACleanup()
会减少refcount

错误代码10093是
wsanotinizated
,这意味着当refcount为0时,DLL正在尝试进行Winsock调用(而不是
WSAStartup()
)。因此,要么
WSAStartup()
根本没有被调用,要么
WSACleanup()
被调用的次数至少与调用
WSAStartup()
的次数相同(可能更多)

无论哪种方式,这都是一个编码错误,但无论是EXE还是DLL中的错误,我们都没有办法说,因为我们看不到您的代码。这不是
netsh winsock reset
可以解决的问题。首先需要在导致错误发生的代码中修复它。

这个答案表明错误在DLL中。