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有可能成功调用吗?
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
如果你的项目是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了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询