基于STM32+W5500 的DNS移植

什么是DNS?

DNS: Domain Name System,域名系统。简单理解,我们平时在浏览器上输入的都是域名,如www.baidu.com,这种域名便于人们的记忆和沟通。你可以很轻松的记住10个域名,但要你记住10个纯数字的ip地址,那就比较费劲了,但电脑通讯的时候是通过ip来通讯的。那么DNS就可以解决这个问题,把域名转化为IP地址。具体DNS的详细内容可参考该文章:http://blog.51cto.com/369369/812889

W5500的DNS移植过程

紧接上一篇文章,DNS的移植就比较简单。首先,还是添加驱动文件。
这里写图片描述
查询dns.h 头文件,有如下定义,DNS服务器的端口号是53,通讯的协议是UDP协议,默认的域名长度是16。

#define  MAX_DOMAIN_NAME   16       // for example "www.google.com"
#define IPPORT_DOMAIN     53       ///< DNS server port number

DNS的配置主要调用了DNS_init和DNS_run函数,下面编写DNS的Test函数,向DNS输入域名,查看DNS是否返回这个域名的IP地址。具体代码如下:

#define SOCKET_DNS         2//定义一个SOCKET口,W5500有8个,0-7都行
wiz_NetInfo gWIZNETINFO = { .mac = {0x78, 0x83, 0x68, 0x88, 0x56, 0x38},
                            .ip =  {192, 168, 4,17},
                            .s
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值