软件设计实验报告-获取计算机IP地址等网络参数

上传人:re****.1 文档编号:498068141 上传时间:2024-02-06 格式:DOC 页数:18 大小:914.02KB
返回 下载 相关 举报
软件设计实验报告-获取计算机IP地址等网络参数_第1页
第1页 / 共18页
软件设计实验报告-获取计算机IP地址等网络参数_第2页
第2页 / 共18页
软件设计实验报告-获取计算机IP地址等网络参数_第3页
第3页 / 共18页
软件设计实验报告-获取计算机IP地址等网络参数_第4页
第4页 / 共18页
软件设计实验报告-获取计算机IP地址等网络参数_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《软件设计实验报告-获取计算机IP地址等网络参数》由会员分享,可在线阅读,更多相关《软件设计实验报告-获取计算机IP地址等网络参数(18页珍藏版)》请在金锄头文库上搜索。

1、2015/2016 学年 第 2 学期软件设计实验报告模块名称 VC+ 专业 广播电视工程 学生班级 B130114 学生学号 B13011413 学生姓名 陈超 指导教师 余雪勇 设计题目1. 熟悉VC+6.0的使用环境2. 获取计算机的名称和IP地址3. 基本C/S模式的通信实验4. 典型网络应用设计5. 综合网络应用设计任务要求1熟悉VC+6.0的使用环境:掌握最基本的基于控制台、对话框、单文档及多文档界面的项目创建方法;掌握项目中的文件构成及作用,学会在程序文件中增加功能代码的方法;掌握程序的生成和调试方法。2.获取计算机的名称和IP地址实验:掌握在程序中获取网络参数的方法:获取计算机

2、的名称和IP地址;获取计算机的子网掩码;获取计算机的DNS设置;获取计算机的网卡地址; 3.基本C/S模式的通信实验编写程序实现下述功能:一个UDPClient/Server模式的通信程序;一个TCP Client/Server模式的通信程序基本要求:能输入计算机的IP地址和端口号,能输入、发送文本信息和显示接受的文本信息。4.典型网络应用程序设计4.1聊天室设计:完成一个文本聊天室程序的设计。4.2简单的浏览器的实现:设计一个简单的浏览器5.综合网络应用设计:房产报修网络化管理实验设备及软件硬件:PC机一台;软件:VC+6.0;其他通用软件工具同组人员学号及姓名无参考文献1. 朱桂英、张元亮

3、 Visual C+网络编程开发与实战 清华大学出版社2. 姚领田等 MFC窗口程序设计 中国水利水电出版社3. 汪晓平、钟军 Visual C+网络通信协议分析与应用实现 人民邮电出版社4. 曹衍龙Visual C+网络通信编程实用案例精选(第二版)人民邮电出版社5. 雷斌、杨建华、黄超、何斌Visual C+ 6.0网络编程技术人民邮电出版社6. 美David J.Kruglinski译:希望图书创作室MICROSOFT VISUAL C+ 6.0技术内幕 北京希望电子出版社一、获取计算机IP地址等网络参数1、 实验目的程序能够自动获取计算机的名称、IP地址、子网掩码、DNS设置、网卡地址

4、。2、 实验内容及过程1. 启动Visual C+6.0,在此IDE环境中单击File/New菜单项,打开New对话框,然后单击Projects选项卡,选择“MFC AppWizardexe”一项。在对话框右上角的ProjectsName中填新工程的名字,然后选择适当的目录位置放置此新工程;新建一个MFC Appwizard(exe)工程,命名为B13011413,选择Dialog based框架,一定要包含Windows Sockets。2. 在工作区中选择“ResourceView”选项卡,选择Dialog,双击菜单控件的名字(IDD_B13011413_DIALOG),右边出现程序视图的

5、原始界面,在Dialog里创建应用程序框架,删除对话框中的静态文本框,然后添加控件,选择静态文本框,用来显示计算机名、IP地址等文字,然后对应添加编辑框,修改其属性,将其ID分别修改为IDC_EDIT1IDC_EDIT7,然后进入ClassWizard,建立类向导,选择Member Variables选项卡,为其添加成员变量m_tName,m_type,m_cardname,m_sDsMask,m_sDns,m_pMacAddr, m_sIPAddress;如下图1.1。 图1.1 添加成员变量3.添加按钮用于查询,修改其ID为IDC_BUTTON1,进 MFC classWizard,选择M

6、ember Maps选项卡,再在Object Ids列表框中选择IDC_BUTTON1,选择Messages列表框中的BN_CLICKED,点击“Add Function”按钮,增加一个函数,使用系统默认名“IDC_BUTTON1”,单击“OK”;如下图1.2。4.编写程序代码:OnButton1()中调用StartUp()函数来添加WINSOCK类库,调用函数GetLocalHostName获取主机名,函数GetIPAddress获取IP地址,函数GetInfo获取网卡信息,函数ParseData获取适配器信息。点击查询按钮,所获信息均显示在编辑框内。5.在工程-设置-连接-对象/库模块中加

7、入对IPHLPAPI.LIB库文件的支持。 图1.2 添加成员函数3、 实验结果1.点击查询按钮,获取本机网络参数显示如下图1.3图1.3 获取计算机的网络配置信息4、实验体会本实验是在对前一阶段熟悉VC6.0使用环境及对MFC的全面理解的基础上完成的,开始时由于不理解MFC编程,以为只需要编写代码,所以出了很多错误,比如在新建工程时没有选取Windows Sockets导致程序无法编译,还有变量定义的类型一开始不熟悉总是忽略而选默认值,还有必须链接到IPHLPAPI.LIB库文件不然会报错等等细节,这些基本注意点应牢牢掌握,才能更熟练地完成接下来的任务。 二、基于UDP模式的通信程序1、实验

8、目的通过Sockets编程,设计一个UDP的C/S通信程序,实现点对点的通信,能编辑文本消息以及实现该消息的传送。2、实现方法:UDP的Server和Client程序相同,采用相同的架构,Server服务端对本地终结点进行监听,客户端同样对相应终结点监听,直接向该终结点发送数据,便可进行通信,程序架构分为两部分,一部分是对本地终结点的绑定和监听,另一部分是进行数据的通信。通信过程中,第一步初始化Winsock;第二步建立一个数据报类型的UDP套接字;第三步使用sendto函数进行通信;第四步关闭socket;程序流程图如下图2.1: 图2.1 UDP通信程序流程图3、实验过程:1按之前详述步骤

9、建立一个新工程,取名为B13011413UDP。2在resourceview里的Dialog中创建应用程序框架,修改相应编辑或按钮框的Object IDs,在MFC ClassWizard中建立类向导:添加变量m_disp,m_sip,m_sport,m_dip,m_dport,添加成员函数OnButton1,OnRadio1,OnRadio2。3.在工作区中选择FileView选项卡,手动添加chatsock.cpp和mysocket.cpp和相对应的头文件,并在程序代码中引用这两个头文件。4.编写源程序代码4、实验结果运行时需要打开两个运行窗口并分别设置目的端口和源端口的端口号分别对应,选

10、中UDP,并在编辑框里输入文本信息,点击“发送”按钮,文本信息在另一个窗口中显示时,实现通信。1.UDP服务端建立如下图2.2图2.2 UDP服务端建立2.UDP客户端连接如下图2.3图2.3 UDP客户端连接3. UDP客户端与服务端连接成功并进行聊天如下图2.4 图2.4 UDP客户端与服务端连接成功并进行聊天5、实验体会基于C/S模式的UDP模式的通信程序设计,是第一次尝试基于socket套接字进行数据传输,因为对于socket流式传输原理的理解不够深刻,在尝试编写过程中出现了大量error后,参考了许多相关mysocket类的实现与应用代码,也逐步认识到套接字的使用方法;另外,在搭建D

11、ialog框架的使用上,相对于上一个实验,诸如可以修改编辑框文字的滚动格式等有了更多的了解。此次设计的UDP通信一个很大的局限在于未设置关闭UDP连接按钮及相应功能,需要进一步深刻理解夯实原理,探索实现。三、基于TCP模式的通信程序1、实验目的使用Sockets编程,实现基于TCP的C/S模拟通信。2、实现方法:对Socket服务端采用用多线程框架,对每一个客户端的连接分配一个子线程,程序采用默认端口,一旦运行便对端口开始监听,程序功能分为三部分,包括SocketServer的配置以及监听,数据的接收和数据的发送。程序界面有三个按钮分别为发送、清空、关闭,消息函数分别为btnClientSen

12、d_Click、btnClear_Click、btnExit_Click。对Socket客户端,通过设置菜单设置连接的服务器IP,端口采用默认端口,简单实现对服务器的连接和数据收发。程序流程图如下图3.1:图3.1 TCP通信程序流程图4、 实验过程1.建立两个新工程,分别取名为B13011413TCPC和B13011413TCPS。2.在工作区中选择“ResourceView”选项卡,选择Dialog,双击菜单控件的名字(IDD_B13011413TCPS_DIALOG和IDD_B13011413TCPC_DIALOG),右边出现程序视图的原始界面,使用控件添加Static,Button,E

13、dict,Radio等控件,对每一个控件右键可编辑属性修改ID和标题。3.在工具栏点击查看-建立类向导,进入Massage Map选项卡,Class Name选择B13011413TCPSDlg(客户端选择B13011413TCPCDlg),为控件添加事件处理函数。进入Member Varibles选项卡,为控件添加变量名。4.在工作区中选择FileView选项卡,在B13011413TCPCFiles中手动添加chatsock.cpp,chatsock.h,mysocket.cpp和mysocket.h,在B13011413TCPSFiles中添加clisock.cpp,lstsocket.

14、cpp,mysocket.cpp和对应的头文件,并在程序代码中引用这些文件。5.编写相应函数代码。4、实验结果运行时需要打开两个运行窗口并分别设置目的端口和源端口的端口号,先点击TCP建立服务器,再点击TCPclient,并在编辑框里输入文本信息,点击“发送”按钮,文本信息在另一个窗口中显示时,实现通信。1.TCP服务器建立如下图3.2 图3.2 TCP服务器建立2. TCP客户端与服务端连接成功如下图3.3图3.3 TCP客户端与服务端连接成功3. TCP客户端与服务端进行聊天如下图3.4图3.4 TCP客户端与服务端进行聊天5、实验体会经过TCP和UDP模式的通信程序设计,对TCP与UDP

15、的通信原理与区别有了较为深刻的认识。相对于UDP通信,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,其必须保证传输的数据无误,因此在UDP基本架构上要用一个校验和函数检验数据是否有错误,在接收和发送时都要计算校验和,UDP没有可靠、有次序、不重复的保证。查找了一些参考资料及相关代码发现,一般情况下TCP Socket 的数据发送和接收是调用send() 及recv() 这两个函数来达成,而 UDP Socket则是用sendto() 及recvfrom() 这两个函数,这两个函数调用成功发挥发送或接收的资料的长度,否则返回SOCKET_ERROR,所以TCP的两端每次收发数据前必须建立连接,协议本身也保证可靠有序,而UDP任何一方建立一个socket后就可以用这两个函数收发数据

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号