网络程序设计实验报告-Winsock编程接口实验

时间:2024.4.5

网络程序设计

实验报告

                                              

              实验名称: Winsock编程接口实验   

实验类型:____验证型实验_____           __

指导教师:______________________

专业班级:_____________________

    名:_______________________

    号:_____________________

电子邮件:____________

实验地点:_____________

      2013        3      29   

实验成绩:__________________________
 

一、实验目的

l  掌握Winsock的启动和初始化;

l  掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。

二、实验设计

由实验内容可以知道:

1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip www.163.com  www.swust.edu.cn, 能输出www.163.com和 www.swust.edu.cn对应的IP地址列表。

2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC地址。

首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。

                之后要根据内容画出函数流程图

三、实验过程(包含实验结果)

1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题.

2.实验结果

3.选择查看本机信息

四、讨论与分析

1.Winsock初始化的作用是什么?

答:使用winsock初始化可加载winsock编程的动态链接库。

2.给出GetAdaptersInfo()函数的正确使用方法。

GetAdaptersInfo 函数使用方法:

1.包含头文件IpHlpApi.h,其库文件为IpHlpApi.lib(已将安装SDK,并将其连接至VC)

2.声明一个 IP_ADAPTER_INFO 结构指针变量 pAdapterInfo,一个 ULONG变量 ulOutBufLen。这些变量作为参数传递给 GetAdaptersInfo 函数;

3. 为结构分配内存;

4. 第一次调用 GetAdaptersInfo 获取适当的 ulOutBufLen 变量大小;

5. 第二次调用传递 pAdapterInfo,ulOutBufLen 作为参数, 调用成功时返回网卡信息,失败时返回错误信息。

3.域名解析时出现域名对应多个IP,请解释原因。

大型网站具有多个IP,这是因为其访问量大,使用多个IP保持负载均衡。所以要使用多个IP同时也可以提高系统吞吐量

五、实验者自评

     刚开始的时候对Winsock编程不是很了解,然后看了书中的知识后大概了解了许多关于Winsock编程基本接口的知识,而且在实验过程中有许多的问题,例如最后显示本机IP地址的时候还需要将debug中的应用程序放入到c盘中,之后尝试了好多次程序就可以运行了,不过,最后终于是写好了,还有些关于套接字的程序书中也有参考的,可以仿照那个去修改一下自己的代码,看看自己的有哪些不足之处,程序写的好的要求是尽量减小系统的利用率,增大系统吞吐量,可以使系统有更高的运行效率。

    这次实验是一个简单些的验证型实验,但是对于Winsock编程是一些基础知识,只要先打好了基础知识才可以对于后面的实验能运用自如,所以,以后有时间的时候也要去看书多了解关于这方面的知识。实验设计的时候还是比较简单的,就是过程有一点繁琐啦!

六、附录:关键代码

       while(argc>1)

       {

              hostent *pHost = ::gethostbyname(*++argv); // 打印出所有IP地址

              printf("jiexiyuming %s \n",*argv);

              in_addr addr;

              for(int i = 0; ; i++)

              {

                     char *p = pHost->h_addr_list[i];

                     if(p == NULL)

                            break;

                     memcpy(&addr.S_un.S_addr, p, pHost->h_length);

                     char *szIp = ::inet_ntoa(addr);

                     printf(" 本机IP地址:%s  \n ", szIp);

              }

              argc--;

              printf("**************************\n");


第二篇:基于WinSock的简单TCP网络编程实验报告


实验报告

实验课程名称:          通信软件基础实验课          

        院:          软件工程学院                

        业:          软件工程                    

指导教师:                                      

报告人姓名:                             

      号:                            

        级:                               

        期:                                      

更多相关推荐:
网络编程实验报告

网络编程课程设计报告题目姓名学院专业班级学号指导教师基于Linux网络聊天室的设计陈佳悦陈雄兰信息科学技术学院网络工程网络工程10219xx021319xx0214薛卫职称副教授基于Linux网络聊天室的设计摘...

网络程序设计实验报告

目录1需求分析211电子商城网站的目的和意义212网站功能分析22电子商城网站的设计221功能模块设计222数据库设计43电子商城网站的实现531开发工具及环境配置5311开发环境5312安装及配置532程序设...

网络程序设计实验报告

实验报告课程名称指导教师实验日期院系专业班级实验地点学生姓名学号同组人实验项目名称一实验目的和要求一实验目的自写二实验要求自写1按实验内容分步骤完成实验2完成实验报告包括实验过程概述实验中遇到的问题及解决方法实...

JAVA网络程序设计实验报告

Java网络程序设计实验五JDBC班级姓名学号日期20xx68实验五JDBC一实验目的1掌握SQL语句和MYSQL数据库操作命令2掌握关系型数据库设计规则3掌握JDBC类库包使用规则二实验内容1学习SQL语言基...

网络编程实验报告

20xx年秋季学期计算机网络编程实验报告班级计121班学号12101020xx8姓名刘杰总成绩评语指导教师签字日期实验一登陆页面及菜单界面的实现一实验目的1熟悉NET程序设计方法2熟悉WindowsForm控件...

网络编程实验报告

实验一TCPSocketAPI程序设计一预备知识1网络编程基本概念网络上的计算机间的通讯实质上是网络中不同主机上的程序之间的通讯在互联网中使用IP地址来标识不同的主机在网络协议中使用端口号来标识主机上不同进程即...

网络程序设计报告

网络程序设计实验报告班级130914学号13091404姓名王文文教师张志钦目录实验说明重要提示实验1虚拟机Vmware和RedhatLinux的安装实验2RedhatLinux与Windows文件共享的设置实...

网络程序设计实验报告-UDP通信实验

网络程序设计实验报告实验名称UDP通信实验实验类型验证型实验指导教师专业班级姓名学号电子邮件实验地点实验日期20xx年3月29日实验成绩一实验目的进一步理解WinsockAPI的调用方法了解UDP协议的工作原理...

网络编程实验报告

程序实践报告一程序实践概述1题目名称Linux程序设计基础2时间进度20xx年6月19日到20xx年7月5日3开发环境Ubunto1004二问题分析1功能说明编程实现快速排序算法实现文本文件拷贝函数copyfs...

网络软件程序设计实验报告--meter

综合实验报告20xx20xx年度第二学期名称网络软件程序设计题目端口扫描程序院系信息工程系班级网络工程10K1学号学生姓名meter指导教师朵春红鲁斌设计周数1周成绩日期20xx年11月26日一目的与要求1任务...

网络程序设计课程设计报告模板

网络程序设计课程设计XXX系统院系班级姓名合作者指导教师20xx年12月25日网络程序设计课程设计任务书一题目XXX系统二设计要求1XXX组长XXX和XXX组成设计小组2小组成员分工协作完成要求每个成员有自己相...

socket网络编程 实验报告

大连民族学院计算机科学与工程学院实验报告实验题目socket编程综合实验课程名称网络编程技术实验类型演示性验证性操作性设计性综合性专业软件工程班级20xx2姓名杨腾飞学号20xx082225实验日期20xx年5...

网络程序设计实验报告(28篇)