vc6.0 获取ip(一)

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

最近被物联网云服务器的协议搞的醉生醉死,就打算自己做一个小型的转发服务器,娱乐使用,打算用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)可以注释掉不用,下面是运行效果

 

转载于:https://www.cnblogs.com/chenfeiguoguo/p/8547282.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值