当前位置: 移动技术网 > IT编程>开发语言>C/C++ > vc6.0 获取ip(一)

vc6.0 获取ip(一)

2018年03月12日  | 移动技术网IT编程  | 我要评论

韩国选美季军金喜庆,魔法圣婴快播,汽车票查询票价

作为新手!自己学的东西太多怕自己忘记,就做记录了(主攻单片机类);博客的文章以单片机为主,上位机为辅

最近被物联网云服务器的协议搞的醉生醉死,就打算自己做一个小型的服务器,娱乐使用,打算用vc6.0写,纯基础,希望能帮到大家

因为买了a6 GPRS模块,只支持tcp的,udp的以后在做了,至于为什么用vc6.0,我用的是xp系统,没钱

有错误请指出,本人业余的(所写的代码,尽量注释清楚)通过vc6.0的直接复制粘贴即可

(代码来源于网络,

仅供学习交流,严禁用于商业用途


//WSAStartup()。Windows Sockets Asynchronous的启动命令,Windows下的网络编程必须先启用本命令,不然,后续的操作都会报错:10093:WSAStartup() 调用未成功执行过。
//gethostname()获得本机名
//gethostbyname()获得本机网络信息,存储到struct hostent *指针中,返回给调用者
//从struct hostent结构体信息中,获取ip地址,转换成字符串输出

 

//下面直接复制粘贴即可


#include "winsock2.h" #include <stdio.h> #pragma comment(lib,"ws2_32.lib") int main(int argc, char* argv[]) { WSADATA wsaData; char name[155]; char *ip; PHOSTENT hostinfo; if ( WSAStartup( MAKEWORD(2,0), &wsaData ) == 0 ) //WSAStartup()。Windows Sockets Asynchronous的启动命令 { if( gethostname ( name, sizeof(name)) == 0) //gethostname()获得本机名 { printf("hostname=%s\n", name); if((hostinfo = gethostbyname(name)) != NULL) //gethostbyname()获得本机网络信息,存储到struct hostent *指针中,返回给调用者 { ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list); //得到地址字符串 printf("local host ip: %s\n",ip); } } WSACleanup( );//功能是终止Winsock 2 DLL (Ws2_32.dll) 的使用 } while(1);//这里加入的是死循环,避免黑色程序框自动关闭 return 0;//直接退出去,调试情况下,无问题,不会退出 }

上面的while(1)可以注释掉不用,下面是运行效果

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网