- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2015年南京邮电大学软件设计TCPIP网络通信程序设计实验报告
201 /201 学年 第二学期课程设计实验报告模块名称TCP/IP网络通信程序设计专业学生班级学生学号学生姓名指导教师QT5.6环境下的源代码题目1获取计算机的名称和IP地址1、设计内容获取计算机的名称和IP地址实验 编写程序实现下述功能:获取计算机的名称和IP地址2、设计分析论述及程序实现流程框图Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境 (IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。Qt数据库中提供QtNetwork Module中的QHostInfo、QHostAddress、QNetworkInterface和QNetAddressEntry等类来查询网络参数。QNetworkInterface类提供了程序所运行的主机IP地址和网络接口信息的列表,在一个网络接口信息中,包含一个或多个IP地址,每一个IP地址又包含和它相关的子网掩码和广播地址。它们三者别封装在一个对象中QNetworkAddressEntry,网络接口信息也包含了硬件地址信息。[1]3、关键实现代码及注解1.在NetworkI文件中,添加QT += network2.在头文件networkinformation.h中添加如下代码:#include QHostInfo#include QNetworkInterfacepublic:void getHostInformation();public slots:void slotDetail();对QHostInfo、QNetworkInterface进行声明,添加槽函数。3.在源文件networkinformation.cpp中添加代码。其中在构造函数的最后添加:getHostInformation(); //用于获得主机信息connect(detailBtn,SIGNAL(clicked()),this,SLOT(slotDetail()));4. getHostInformation()函数用于获得主机信息。具体实现代码如下:void NetworkInformation::getHostInformation(){ QString localHostName = QHostInfo::localHostName();//获得本机主机名 LineEditLocalHostName-setText(localHostName); QHostInfo hostInfo = QHostInfo::fromName(localHostName);//根据主机名获得相关主机信息,包括IP地址等。QHostInfo::fromName()函数通过主机名查找IP地址信息。 QListQHostAddress listAddress = hostInfo.addresses();//获得主机的IP地址列表if(!listAddress.isEmpty())//获得的主机IP地址列表可能为空。在不为空的情况下使用第一个IP地址。 { LineEditAddress-setText(listAddress.first().toString()); }}注释见上。[2]5. slotDetail()函数获得与网络接口相关的信息,具体实现代码如下:void NetworkInformation::slotDetail()//获得与网络接口相关的信息{ QString detail=; QListQNetworkInterface list=QNetworkInterface::allInterfaces();//QNetworkInterface类提供了一个主机IP地址和网络接口的列表for(int i=0;ilist.count();i++) { QNetworkInterface interface=list.at(i); detail=detail+u8设备:+()+\n;//获得网络接口的名称 detail=detail+u8硬件地址:+interface.hardwareAddress()+\n;//获得网络接口的硬件地址 QListQNetworkAddressEntry entryList=interface.addressEntries(); //每个网络接口包括0个或多个IP地址,每个IP地址有选择性地与一个子网掩码和(或)一个广播地址相关联
文档评论(0)