为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

拨号上网IP地址的检知

2018-08-02 3页 doc 14KB 7阅读

用户头像

is_358746

暂无简介

举报
拨号上网IP地址的检知拨号上网IP地址的检知 王准 随着INTERNET在世界范围内的迅速普及,上网的人数也越来越多。 其中,绝大多数人是通过普通电话线拨号上网的。我们知道, 每一台上网的计算机,不论是用何种方式上网,都被分配了一个 或多个独立无二的IP地址。对于拨号上网的用户,一般是由其ISP 在其每次拨号上网时动态分配一个IP地址,这个地址可能每次都不 相同(其原因主要是为了充分利用有限资源)。那么,我们能否通 过某种方法随时方便地检知自己上网时的IP地址呢?答案是肯定的。 下面我们就用C++BUILDER编制一个小巧的程序来实现这种功能。...
拨号上网IP地址的检知
拨号上网IP地址的检知 王准 随着INTERNET在世界范围内的迅速普及,上网的人数也越来越多。 其中,绝大多数人是通过普通电话线拨号上网的。我们知道, 每一台上网的计算机,不论是用何种方式上网,都被分配了一个 或多个独立无二的IP地址。对于拨号上网的用户,一般是由其ISP 在其每次拨号上网时动态分配一个IP地址,这个地址可能每次都不 相同(其原因主要是为了充分利用有限资源)。那么,我们能否通 过某种方法随时方便地检知自己上网时的IP地址呢?答案是肯定的。 下面我们就用C++BUILDER编制一个小巧的程序来实现这种功能。 (注:本程序在局域网中也同样能运行) ---- 首先用BCB的FILE菜单下的New Application创建一个新项目, 取名为IPcheck.bpr。---- ---- 然后,在窗体FORM1上添加五个标签(LABEL)和两个按钮(BUTTON), 如图所示。 ---- 接下来,双击窗体的OnCreate事件,在其中加上以下程序: void __fastcall TForm1::FormCreate(TObject *Sender) { WSAData wsaData; if (WSAStartup(MAKEWORD(1,1),&wsaData)!=0) { //初始化WINSOCK调用 MessageBox(NULL,"Wrong WinSock Version","Error",MB_OK); return ; } Refresh1Click(Sender); //程序一开始, 就调检知IP地址 } 再双击Refresh按钮,在其中加上以下程序 void __fastcall TForm1::Refresh1Click(TObject *Sender) //刷新IP地址 { char HostName[80]; LPHOSTENT lpHostEnt; struct in_addr addr[2]; //本程序假设主机不是多宿主机,即最多只有 // 一块网卡和一个动态IP for (int i=0; i< 2; i++) { memset(&addr[i],0,sizeof(in_addr)); //对in_addr结构清0,以利后 } //面填写 if(gethostname(HostName,sizeof(HostName))==SOCKET_ERROR)//得到本 { // 主机名 MessageBox(NULL,"Can't getting local host name.","Error",MB_OK); return ; } Label3- >Caption=HostName; lpHostEnt=gethostbyname(HostName);// 利用得到的主机名去获得主机结构 if (!lpHostEnt){ MessageBox(NULL,"Yow! Bad host lookup.","Error",MB_OK); return ; } for (int i=0; lpHostEnt- >h_addr_list[i]!=0; i++) //从主机地址表中得 //到IP地址 { memcpy(&addr[i],lpHostEnt- >h_addr_list[i], sizeof(in_addr)); } Label4- >Caption=inet_ntoa(addr[0]); Label5- >Caption=inet_ntoa(addr[1]); } 再双击Refresh按钮,在其中加上以下程序 void __fastcall TForm1::Button2Click(TObject *Sender) { WSACleanup(); //释放WINSOCK调用 Close(); } ---- 最后,不要忘了在程序头部加上#include< winsock.h>.....哦。 ---- 好了,程序完成了,编译后就可运行了。本程序在中文WIN95/NT4.0下编译通过。
/
本文档为【拨号上网IP地址的检知】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索