1、 共 17 页 第 1 页 装 订 线 目目 录录 一设计目的.2 二功能介绍.2 三程序流程.2 四设计步骤.4 五详细设计.4 六设计总结17 七参考文献17 共 17 页 第 2 页 装 订 线 一一设计目的设计目的 通过课程设计,使学生理解和学会应用 winsock 来进行编程;使学生提高理 论联系实际解决实际问题的能力;也使学生对基于 c+的网络通信编程进行系统 设计过程中的诸多具体问题有感性的认识和深入的理解;进而提高学生的学习兴 趣为其将来顺利进入毕业环节作必要的准备。 二二功能介绍功能介绍 (1)配置文件支持功能:使用配置文件存储程序配置信息。 (2)网络参数管理功能:能够管理
2、网络参数,例如 IP、机器名、掩码和 DNS 等。 (3)路由表管理功能:能够查看和管理主机路由表条目。 三程序流三程序流程程 共 17 页 第 3 页 装 订 线 否 是 否 是 图 1.程序流程图 共 17 页 第 4 页 装 订 线 四设计步骤四设计步骤 1. 资料整理 2. 配置文件支持功能 3. 网络参数管理功能 4. 路由表管理功能 五详细设计五详细设计 (一)获取本地网络配置信息 图 2.获取本地网络配置信息 本功能实现的是查询本地网络的基本配置信息,包括了主机名,注册域名,DNS 服 务器,获取信息后打印出来,如图 2,具体的代码如下: int main() FIXED_INF
3、O fi; ULONG ulOutBufLen = sizeof(fi)+100; / 获取本地电脑的网络参数 /* if(GetNetworkParams( getch(); return -1; */ GetNetworkParams( / 主机名称 printf(“ Host Name: %s n“, fi.HostName); / 电脑注册的域名 printf(“ Domain Name: %s n“, fi.DomainName); / 打印出所有的 DNS 服务器 printf(“ DNS Servers: n“); printf(“ t%s n“, fi.DnsServerLis
4、t.IpAddress.String); IP_ADDR_STRING *pIPAddr = fi.DnsServerList.Next; while(pIPAddr != NULL) printf(“ t%s n“, pIPAddr-IpAddress.String); pIPAddr = pIPAddr-Next; 共 17 页 第 5 页 装 订 线 getch(); return 0; (二)读取网卡信息 图 3.网卡信息 图 4.网卡信息 本功能实现的获取本地网卡信息,打印出本地连接,无线连接,WiFi 适配器等,具 体的内容如图所示,主要代码如下: typedef struct tagAdapterInfo string strName; / 适配器名称 string strDriverDesc; / 适配器描述 string strIP; / IP 地址 共 17 页 第 6 页 装 订 线 string strNetMask; / 子网掩码 string strNetGate; / 网关 string strBroadcastIp; / 广播地址 string strS; / 测试用的 ADAPTER_INFO; BOOL GetAdapterInfo();/获取网络适配器信息 BOOL RegGetIP