首页 > 其他分享 >UDP协议的应用——域名解析

UDP协议的应用——域名解析

时间:2024-06-04 20:22:24浏览次数:19  
标签:协议 UDP addr int errno list 域名解析 include struct

设计程序实现解析www.baidu.com 的域名,把获取到的百度的IP地址全部输出到终端并验证是否正确

/*************************************************************************************************************************
 *
 *	file name:	udp_cs.c
 *	author	 :  Dazz
 *	date	 :  2024/6/4
 *	function :  设计程序实现解析www.baidu.com的域名,把获取到的百度的IP地址全部输出到终端并验证是否正确。
 *
 *
 *	CopyRight (c)  2024   [email protected]   All Right Reseverd
 *
 * **************************************************************************************************************************/
#include <netdb.h>
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    // 检查参数有效性
    if (argc != 2)
    {
        fprintf(stderr, "argument is invaild ,errno:%d,%s\n", errno, strerror(errno));
        exit(1);
    }

    // 对域名进行解析
    struct hostent *p = gethostbyname(argv[1]);
    if (p == NULL)
    {
        fprintf(stderr, " gethostbyname fail,errno:%d,%s\n", errno, strerror(errno));
        exit(2);
    }

    int cnt = 0;
    char **addr_list = p->h_addr_list;
    struct in_addr addr;

    // 遍历 IP 地址列表
    for (; *addr_list != NULL; addr_list++)
    {
        memcpy(&addr, *addr_list, sizeof(struct in_addr));

        // 使用 inet_ntoa 输出 IP 地址
        printf("%s\n", inet_ntoa(addr));
        cnt++;
    }

    return 0;
}

运行结果:
image

标签:协议,UDP,addr,int,errno,list,域名解析,include,struct
From: https://www.cnblogs.com/Dazz24/p/18231637

相关文章

  • linux下用域名解析ip地址列表
    linux下用域名解析ip地址列表目录linux下用域名解析ip地址列表头文件/宏定义主函数验证结果头文件/宏定义#include<stdio.h>#include<stdlib.h>#include<netdb.h>#include<arpa/inet.h>主函数/********************************************************************......
  • 网络编程练习题---利用UDP协议实现组播通信
    目录题目解析代码实现题目解析由于该题需要实现组播通信,所以我们需要将套接字文件句柄设置为组播属性,并将需要通信的用户端IP地址,加入组中。由于组播通信需要实现一对多发送消息,所以还需要将套接字文件句柄的广播属性一并开启。由于该题实现过程使用到了线程相关函数接口,所......
  • 【信息化人员必备知识&面试宝典】HTTP协议的状态码:那些数字背后的秘密
    【信息化人员必备知识&面试宝典】HTTP协议的状态码:那些数字背后的秘密状态码的分类与基本概念核心状态码解读与实战案例一:200OK——一切安好案例二:404NotFound——迷失的页面案例三:301MovedPermanently——永久搬家案例四:500InternalServerError——服务......
  • udp协议实现组播功能
    /****************************************************************************************************************************************filename:multicast.c*author:[email protected]*date:2024/06/04*brief:小组实现,小组中的每位......
  • SIP协议:AOR和Contact作用
    sip协议交互的消息中,通常可以看到一些固定的格式,例如:可以看到消息头中包含“From”,"To","Contact"等字段。这些是起到什么作用呢?From和To是消息交互双方使用的域名,供双方作为位置服务使用。可以通过位置服务将一个URI映射到另一个用户可能使用的URI。而Contact字段包含具体的地......
  • UDP练习题——实现将自己加入到多播组中并等待服务器发送数据包
    设计程序,要求程序可以加入到一个多播组中并等待服务器发送,数据包,并且程序还需要具有发送功能,如果收到数据包则把消息内容输出到终端,消息内容格,式「消息来源IP消息时间1:消息内容多播地址和端口号/*************************************************************************......
  • 安防综合管理系统EasyCVR视频汇聚平台GA/T 1400协议中的关键消息交互示例
    在当今的信息化时代,公共安全防范日益成为保障社会和谐稳定的关键。视频监控系统作为现代安全防范的重要手段,正不断在公安、交通、城市管理等领域发挥着越来越重要的作用。而GA/T1400协议视图库,作为公安视频图像信息应用系统的标准,与视频监控系统的结合使用,无疑为提升监控效果、强......
  • eDP V1.4协议介绍
    一、说明eDP的全称是EmbeddedDisplayPort嵌入式显示端口,主要应用与短距离系统内应用,例如手机、一体式台式机等。eDPV1.4b是基于DPV1.3标准制作完成,但因应用场景的不同,还是有很多区别。电压摆幅不同,eDP相对较低;eDP功耗相对较低;DP有线材和连接器的要求,eDP没有明确要......
  • TCP和UDP的区别
    TCP(传输控制协议)和UDP(用户数据报协议)的区别TCP(TransmissionControlProtocol):1.面向连接:在发送数据之前,TCP需要通过三次握手(SYN、SYN+ACK、ACK)来建立连接,以确保双方可收发数据。2.可靠性:TCP会确保数据在传输过程中的顺序性和完整性。如果数据包丢失或错误,TCP会自动请求重新......
  • 《计算机网络微课堂》实验25 动态主机配置协议DHCP的作用
    下面我们来进行一个仿真实验,本仿真实验的目的在于验证动态主机配置协议DHCP的作用。我已经在软件中构建好了我们理论课中所使用的那个例子,并在各设备旁边标注出了所需的配置信息,我们的应用需求是不给局域网中的各主机手动配置IP地址,子网掩码、默认网关、DNS服务器等信息,而是......