
windows下调用gethostname和gethostbyname必须先调WSAStartUp吗?
3个回答
展开全部
gethostbyname()函数属于WinSock API库,而在使用WinSock API之前,必须调用WSA-Startup函数,只有该函数成功返回(表示应用程序与WinSock库成功地建立起连接),应用程序才可以调用其他Windows Sockets DLL中的函数。当程序将要结束时,又必须调用WSACleanup 函数进行清理工作,以便释放其占用的资源。WSACleanup 函数用来结束Windows Sockets DLL的使用。
gethostname不用
gethostname不用
追问
win32中不调用WSAStartUp,gethostname和gethostbyname有可能成功调用吗?
展开全部
如果你的项目是mfc的,则需要在 初始化方法中添加 AfxSocketInit(),来设置网络开发环境,否则,你代码所有关于网络的操作均会失败。
WSAStartUp() 是 win32的接口,也可以使用。其实在 AfxSocketInit() 中就调用了 WSAStartUp() 方法。
WSAStartUp() 是 win32的接口,也可以使用。其实在 AfxSocketInit() 中就调用了 WSAStartUp() 方法。
追问
我遇到的问题是在win32下没有调WSAStartUp() ,还可以成功的获取本机ip,但是在有的64位下就会获取不到,能帮我分析一下是什么情况吗。谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般是eth0被禁掉了,就只会显示127.0.0.1这个回环地址 你用 ifup eth0 ifconfig up eth0 上面两个命令都可以,然后 /etc/init.d/network restart 你就能看到eth0了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询