ESP8266 – DNSServer库 – setErrorReplyCode

位置导航: ESP8266库 / DNSServer库 / 本页

说明

当客户端发送的查询域名不在ESP8266模块建立的DNS服务器检索中,则返回setErrorReplyCode函数设置的错误代码。

语法

dnsServer.setErrorReplyCode(replyCode)

参数

replyCode:此参数为DNS响应错误码。类型为DNSReplyCode。

ESP8266 – DNSServer库默认的DNS响应错误码如下

返回值

示例程序

示例程序操作说明
当您将以下程序编译并且上传给ESP8266开发板以后,接下来您可以使用手机连接ESP8266开发板所建立的WiFi网络。该WiFi网络名称是DNSServer example(连接此网络无需密码)。

ESP8266-DNS-Example-1
ESP8266-DNS-Example-1

请打开手机的浏览器,并且在浏览器地址栏中输入“www.example.com”。

ESP8266-DNS-Example-2
ESP8266-DNS-Example-2

输入地址后,再按下确认键。浏览器将会打开下图所示的页面。该页面正是由ESP8266开发板所建立的。

接下来,我将对此示例程序的基本工作流程给您做一个简单的介绍。请留意,在以下示例程序的控制下,ESP8266服务器将会扮演两个角色。第一个角色是DNS服务器,也就是本页面所要讲解的重点。第二个是网络服务器,也就是响应客户端的HTTP访问请求。

在以下示例程序中,我们使用了dnsServer.start(DNS_PORT, "www.example.com", apIP)启动了DNS服务。当我们通过浏览器输入了www.example.com这一网址信息并按下确认键后,浏览器将会向ESP8266所建立的DNS服务器发送DNS服务请求。

ESP8266服务器在收到此请求后,将会通过服务器内的检索信息获取到www.example.com这一网址所对应的IP地址正是ESP8266服务器的IP地址。于是ESP8266DNS服务器将会把这一检索结果响应给浏览器。

浏览器得到了DNS服务器响应,也就是www.example.com网址所对应的IP正是ESP8266服务器的IP,于是浏览器将会再次向ESP8266的IP地址发送HTTP请求。

当ESP8266接收到浏览器客户端的HTTP访问请求后,ESP8266的网页服务器功能将会生成HTTP响应信息,并且返回给手机浏览器客户端。浏览器于是便显示出以下图片所显示的信息内容。

ESP8266-DNS-Example-2
ESP8266-DNS-Example-3

在以下示例程序中:当客户端发送的查询域名不在DNS服务器检索中,则返回以下语句所设置的错误代码。dnsServer.setErrorReplyCode(DNSReplyCode::ServerFailure);

相关内容

start – 启动DNS服务
stop – 停止DNS服务
processNextRequest – 处理DNS请求
setTTL – 设置TTL

位置导航: ESP8266库 / DNSServer库 / 本页