windows下gethostbyname 调用失败

gethostbyname()函数属于WinSock API库,而在使用WinSock API之前,必须调用WSAStartup函数,只有该函数成功返回(表示应用程序与WinSock库成功地建立起连接),应用程序才可以调用其他Windows Sockets DLL中的函数。当程序将要结束时,又必须调用WSACleanup 函数进行清理工作,以便释放其占用的资源。WSACleanup 函数用来结束Windows Sockets DLL的使用。

WSAStartup与WSACleanupWSAStartup应该与WSACleanup成对使用,WSAStartup的功能是初始化Winsock DLL,WSACleanup是来解除与Socket库的绑定并且释放Socket库所占用的系统资源。

在Windows下,Socket是以DLL的形式实现的。在DLL内部维持着一个计数器,只有第一次调用WSAStartup才真正装载DLL,以后的 调用只是简单的增加计数器,而WSACleanup函数的功能则刚好相反,每调用一次使计数器减1,当计数器减到0时,DLL就从内存中被卸载!因此,你 调用了多少次WSAStartup,就应相应的调用多少次的WSACleanup.
时间: 2024-10-28 22:51:48

windows下gethostbyname 调用失败的相关文章

windows下mysql安装失败的一个解决案例

操作系统:windows8.1,之前安装过mysql,这次安装在配置的最后一部执行“Apply security settings”的过程中弹出经典错误: Access denied for user 'root'@'localhost' (using password:YES) 网上寻找了各种方法,有:原mysql未卸载完全的,失败:有修改密码的,解决方法如下: 解决办法是重新设置root用户密码,在Windows平台下操作步骤如下:1.以系统管理员身份登录到系统:2.如果MySQL服务器正在

windows下postgresql安装失败解决方法:无法运行getlocales.exe

今天要安装postgresql但是安装的时候出现错误 Unknown error while running C:\Users\jinjin\AppData\Local\Temp\postgresql_installerxxxxxxx\getlocales.exe 网上百度对这个问题搜了一下只有3个链接,谷歌了一下后尝试解决这个方法. 主要原因应该是VC2010没有安装,但是我安装了之后还是依然报错.然后发现是我在安装安装版之前尝试使用过免安装的二进制版,在运行initdb的时候提示报错缺少一个

在windows下安装Pillow失败原因

因为要运行django的一个项目,models里面的类的一个对象需要加载:models.ImageField 运行失败,提示安装Pillow,才知道如果要操作图片都需要安装Pillow 我就在cmd里执行 但是一直提示安装失败,查了资料,还是没能找到. 最后使用 pip3 安装就成功了. 是版本的问题. 原文地址:https://www.cnblogs.com/zhaoquanmo/p/9785411.html

windows下启动memcached 失败的解决办法

安装了php的memcached的扩展,但没启动memcached本身的服务 当我启动时告诉我 failed to install service or service already installed 网上搜一圈,有个博客说 管理员身份执行cmd 结果真行了.大哥真niub

windows下go调用内存dll

有时候我们希望将dll嵌入到程序内部,以提高程序的安全性,这里我写的一个开源memorydll模块. 首先 go get github.com/nkbai/go-memorydll 然后在需要的时候 import "go-memorydll"即可, 使用起来也非常简单,这里从test例子中摘取. testdll,_:=base64.StdEncoding.DecodeString(testdllbase64)dll,err:= memorydll.NewDLL(testdll,&quo

在windows下安装node-sass失败,提示\node-sass: Command failed,解决方案

执行命令 yarn add [email protected]4.7.2 --dev --registry=https://registry.npm.taobao.org :报错 出现这个问题的原因一般是网络问题,被墙了,这个时候我们不妨换个源试试 yarn config set registry https://registry.npm.taobao.org/  通过该命令设置yarn的下载源 最后执行一下命令安装成功 pm i [email protected]4.7.2 -D --regi

Windows下C语言调用dll动态链接库

dll是windows下的动态链接库文件,下面记录一下在windows下如何调用C语言开发的dll动态链接库. 1.dll动态链接库的源代码 hello_dll.c #include "stdio.h" _declspec(dllexport) void test_print(char const *str) { printf("%s\n", str); } _declspec(dllexport) int test_add(int a, int b) { retu

windows下调用外部exe程序 SHELLEXECUTEINFO

本文主要介绍两种在windows下调用外部exe程序的方法: 1.使用SHELLEXECUTEINFO 和 ShellExecuteEx SHELLEXECUTEINFO 结构体的定义如下: 1 typedef struct _SHELLEXECUTEINFO { 2 DWORD cbSize; 3 ULONG fMask; 4 HWND hwnd; 5 LPCTSTR lpVerb; 6 LPCTSTR lpFile; 7 LPCTSTR lpParameters; 8 LPCTSTR lpD

windows下使用c++调用redis

不废话,unix下c++调用 redis可以看这个: http://blog.csdn.net/youngqj/article/details/8266177 redis的官网版本并没有为vc开发提供接口,不过微软对redis好像很感兴趣,自己弄了一个 ,完整的英文说明在这里: https://gist.github.com/MS-Interop/1439660    根据说明,一套完整下来,你就可以自己搭一个VC版本的 redis. 因为流程比较复杂,怕以后自己要用又忘记,趁记得写下来. 1.