实验一 Winsock编程接口实验

本次实验详细介绍了Winsock编程接口的使用,包括Socket的初始化、gethostname()获取主机名、gethostbyname()进行域名解析。此外,还通过GetAdaptersInfo()获取并展示了本地主机所有适配器的IP地址、子网掩码、默认网关和MAC地址。实验成功展示了域名如www.163.com和www.swust.edu.cn的解析结果,并提供了关键代码。
摘要由CSDN通过智能技术生成

一、实验目的

        掌握 Winsock 的启动和初始化;
        掌握 gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用;
        编写程序能同时实现对多个域名的解析;
        编写程序获取并输出本地主机的所有适配器的 IP 地址,子网掩码,默认网关,MAC地址。

二、实验设计

        该实验分为两个部分:编写程序能同时实现对多个域名的解析和编写程序获取并输出本地主机的所有适配器的 IP 地址,子网掩码,默认网关,MAC 地址。
        1. 编写程序能同时实现对多个域名的解析。
        步骤:

(1)完成Socket的启动和初始化;

(2)使用gethostname()获取主机名称;

(3)使用gethostbyname()进行域名解析;

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

(1)第1次调用GetAdaptersInfo(),获取返回结果的大小到ulOutBufLen中;

(2)第2次调用GetAdaptersInfo(),获取本地网络信息到结构体pAdapterInfo中;

(3)从pAdapterInfo 获取并显示本地网络信息;

(4)释放资源。

        3. 函数原型
        (1)gethostname()
        函数原型为:

int gethostname(char *name, int namelen);

name 是一个指向将要存放主机名的缓冲区指针。

namelen 用于指定缓冲区的长度。

        该函数把本地主机名存入由 name 参数指定的缓冲区中,返回的主机名是一个以NULL 结束的字符串。
        (2)gethostbyname()
        函数原型为:

struct hostent *gethostbyname(const char *name);

name 为指向主机名的指针,它一般由函数 gethostname 返回。

        函数返回对应于给定主机名的包含主机名字和地址信息的 host

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值