实例介绍
Windows C语言网络编程快速入门Windows C语言网络编程快速入门.pdf
技专区 Windows开发 单位、 hPrevinstance, LPSTR TpoudLine, int roadshow) 返回值:若无错误,返回0;否则、返回错误代码。 wSA-retumwsAStartup(oxD101, CvsAData)i ifcsAretum-O 4. gethostbyname( gethostname (host ame, 256) 【函数原型】 struct hostent FAR PASCAL FA host_entry gethostbyname Chost nane) gethostbyname(const char FAR namc) if() 【使用说明】 weprintfho 3刈知妝, 该函数可以从主机名数据库中得到对应的“机”。 (ust try-ohaddr-_list[O][gjanOofD) 该函数唯一的参数name就是前面周用函数 〔 Atry->. addr-_list[o] p]ooff, cost entry>haddr_list[O]r2]ooofD getr- estame(得到的主机名。若无错误,刚返回一个指 Castemtry-haddr-_list[Q]D3JODOfD) 向 hostent结构约批针,它可以标识一个“主机”列表。 MessageBox (NULL, host address, host aRe MB OK Hostent结构定义如下: Struct hostent WSACleanupo return 0 car FAR FAR * aliases shart haddrtype FAR FAR ddr list: 深入编程 日前面显示P地址的时候,我们使用的是消息框,规 其中 范一点的编程应该使用对话框、如何编辑一个对话框,很 h name:<输入参数>主机名地址(PC)。 多书中都有介绍,编辑的对话框可参考图5的运行界面 h_ aliases:一^由主机备用名组成的空终止数组 头文件Get_TPh如下 h-addrtype:返回地址的类型,对于 Winsock,这个 域总是PF_INET BOOL APIENTRY Hostname-ipDlgPro(HiND hDlg, UINT message WPARAM PAram, LPARAM ]) h- lenth:每个地址的长度(字节数),对应于 PF INET域应该为∠。 这个程序只使用了一个对话框过程,一般把这个过 h addr list:应该以空指针结尾的主机地址的列表 程的声明放在头文件中。 返回的地址是以网络顺序排列的。 日源桯序 Get IP.c #includeawrinsock2h> 其中, h addr lis0]存放的就是本地主机的4个字 include"Get IPh 带inut" resoume.h 节的IP地址,即: h_addr_list0O]. h_addr_ list[O‖l]. /这个头文件在创资源的候会自动生成, h_addr_ list[OJ[2].h_ addr_list[o[3] 件并会在入资湖时动生成控标识亭 个简单的用消息业示主机名和IP地址的源程序 VSADATA SAFAta 如下 *host _entry: char host ae[256] #include winsock.p char host address [256]: Int wsAreturn: int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE VSADATA WAKAta; bPrerrstarce, LPSTR Tpaeine, int na dshow) oSTENT host_ i WSA.retumnsAStartup (oxolol, sAbata; char host ane [256] char host address[256] CEA etm int APIENTRy winMain(HINSTANCE hInstance,HINSTANCE 46c得发高旱2 技汇专区 Windows开发 gethostnane (host name, 256); host entry=gethostbyname chost name); if(host_ entry=o) yStdfa AddA wizard SAP Excntlcn warr weprinitfnost address,‰', FC AdX CoAtrbMzerd mmst sntrrhad-Tist[[]SO oFF) 〔 nstatrshadtr-list[pooi ■clp ust auryha-FistIOJ2e0001 wn J2 ttt brAry 〔 ast__list回k); LsACleanupo; 图↑ DialogBox ChInstance, "DIALOG1, NULL, CDLGPROC) Hostname ipDlgPro) 2.在【建】对话框中,系统打开的是默认的【工 程】选项卡,【工程】选项卡左侧的列表框中有多种建立 eturn 0; 工程的方式,我们中“Win32 Application”选项 3.在【位置】文本框中输入新建工程的路径(例如 BOOL APIENTRY Hostname ipDigProCHND hDlg, UINT message WPARAM wParam, LPARAM lParam F:、),在【工程】文本框中输入工程名称(例如 Get Ip Switch(me 4.选中【台】列表框中的Win32复选框,然 case WMINTTDTALOG: 后单击【确定】安钮。 case WM COMMAND. 5.在随后的对话烨中,都选择默认设置,完成 1f(LOORD(wParam)=eIDOK) 后,进人图2所示界面 setplgtenrext Dig, IDC EDIT, host name setolgItemText (hD1g,IDC_EDIT 2 ost address) SetDlgitemText (hong, IDCANCE,足");抱详安j if(LOWORD(wParam =IDCANCEL) W吹eet FaGet IP flcs dialog(Dig, TRUE Source Fifer break 区釀A维译时d 剂解要 三、剩用 Visualc++6.0维译 Windows 图2 c温序 利用ⅤulC++6.0编译 Windows o程序一般要 添加代码 经过以下四个步骤:新建项目、添加代码、添加资源和 在 Visual c++6.0中,源代码般存放在源代码文 编译链接。下面我们简单地说明上面所介绍的获取本机件和头文件中,往项目中加源代吗是非常方使的,为 的主机名和IP地址程序的编译过程 顶吕新建一个源代码文件一般要按卜述方法操作 选择【工程】【添加工程】|【新建】选项,弹 新建项目 出图3(见下页)所示【新建】对话框 1.启动Mc: osoft visual C++,然后在【文件】菜 2.在对话框的【文件】选顶卡中,左侧的列表框选中 单中先择【新建】命令,婵出如图1所示的【新建】对“C++ SourC file”选项,右侧选中【添加工程】复选框, 话框: 并在【文件】文本框中输人源文件名(例如:GetP.c)。 投稿信箱:tough@csdn.net www.csdn.netmagazine4 技朮专区 Windows开发 器进行编辑了。编辑后的对话框如图5 群nwyF CHTM Pg IOA FIc 23 Reseurce Sarlp sRcsuree Telc soL So F能 TeF. 图 四、绉译接 3 在添加了源代码与资源文件后,就可以对程序编 3.单击【确定】按钮,【新建】对话框将被关闭、用译链接了,可按Ctr-F?键编译、按F7键链接,按 户就可以在新建的Get_IPc中输人程序的源代码了 Ctrl+F5键运行程序。在链接前要注意资源文件 Get IP 4.冻加头文件Get3,h的方法和上面所述过程 ℃也要进行编译。 样,只是在【文件】选项卡中,左侧的列表要选中“C/ 由于这个程序引用了 Wisk API函数,在编译连 CII Header file”选项。在【文件】文本框中输入头接前,还要冻加 sock32.lib,具体方法前面已经介绍 文件名(例如: Get ip h) 过,这里就不再警述了 添加资源 点看法 在添加资源前,必须在项目中先添加一个资源文件 利用C语言编写 Windows应用程序有两种方式: 然后可利用islC++6.0提供的资源编辑器为顶目新种是 Windows c编程方式,另一种是 Visual c++ 建一个资源,具体步骤如下: 编程方式。在一般情况下,ⅴ isual C++编程方式编 1.选择【工程】丨【冻加工桯】!【新建】选项,弹写的程序源代码量小、开发时的工作量小、工作难度 出图3所示【新建】对话框。 也较小,但编译后的代码量较大,运行速度略低;而 在对话框的【文件】选项卡中,左侧的列表框 Windows c编程方式编写的程序源代码量虽然较大, 选中“ Resource Script”选项,右侧选中【加工】但可执行代码效率高。随着技术的进步, Visual c++ 复选框,并在【文件】文本框中输入资源文件名(例如:编程方式已被广泛采用,但象网络编程等一些对速度 Gct_ IP. rc 要求高,对硬件操作较多的程序,大多数还是月Win 3.单击确定,回到主窗凵后,选择【插入】|【资 dows c编程方式开发的。另外,学习 Windows c 源】选项,打开【插人资源】对话框,如图4所示,程序设计,还有助于更深入地了解 Windows的内幕和 在【资源类型】列表框中选中“ Dialog”选项,单 Windows ap 击【新建】按钮,返回主窗口后,即可利用对话框编辑 从教学角度讲,在学生具备了C语言和其它一些前 导课程基础后,直接进入 Windows c阏络编程等实用 T NenA 编程技术课程,不仅可以让学生尽早地接触到前沿的实 用编程技术,而且还可以极大地调动学生的学习积极性 玉Ta 在有限的时间甲,学到更多的知识和技术c 注:本文讲述的编程实例都已编译通过,请到CSDN 国4 杂志频道(htp:/ magcsdn.net)下载。 48就扣开堂高m 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论