首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >内网发现,域名解析 mDNS(Arduino实现)

内网发现,域名解析 mDNS(Arduino实现)

作者头像
跋扈洋
发布于 2021-02-02 14:33:24
发布于 2021-02-02 14:33:24
3.7K0
举报
文章被收录于专栏:物联网知识物联网知识

域名系统(英文:Domain Name System,缩写:

DNS)是互联网的一项服务。

它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

DNS使用TCP和UDP端口53。

当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

代码语言:javascript
复制
#include<ESP8266WiFi.h>
#include<ESP8266WebServer.h>
#include<ESP8266mDNS.h>
const char *ssid="STM32L476";
const char *password="284122348";
ESP8266WebServer webServer(80);
const char mainPageString[]PROGMEM="<!DOCTYPE html>\r\n\
<html lang='en'>\r\n\
<head>\r\n\
<meta charset='UTF-8'>\r\n\
<title>Hello World</title>\r\n\
</head>\r\n\
<body>\r\n\
<H1>Hello ESP8266</H1>\r\n\
form mDNS example.\r\n\
</body>\r\n\
</html>";
void initWifi()
{
  WiFi.disconnect();
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid,password);
  Serial.println("");
  while(WiFi.status()!=WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
    }
    Serial.println("");
    Serial.print("Connect to ");
    Serial.println(ssid);
    Serial.print("IP Address: ");
    Serial.println(WiFi.localIP());
    
    }

    
void handleRoot(){
  webServer.send(200,"text/html",mainPageString);
  webServer.client().stop();
  }

void handleNotFound(){
  webServer.send(404,"text/html","404 File Not Found!");
  webServer.client().stop();
  
  
  }

void setup(){
Serial.begin(115200);
initWifi();
if(! MDNS.begin("esp8266")){
  Serial.println("Error setting up MDNS responder!");
  while(1){
    delay(1000);
    }
  }
Serial.println("mDNS responder started");
MDNS.addService("http","tcp",80);
webServer.on("/",HTTP_GET,handleRoot);
webServer.onNotFound(handleNotFound);
webServer.begin();
}

void loop(){
  webServer.handleClient();
  }

结果

欢迎关注我的公众号,喜欢就点一点 在看 吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 结果
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档