Espressif ESP32-S2 Programming Manual page 621

Table of Contents

Advertisement

Chapter 2. API Reference
void
mdns_print_results(mdns_result_t
mdns_result_t
*
mdns_ip_addr_t
*
int
i
=
1, t;
while(r){
printf("%d: Interface: %s, Type:
protocol_str[r->ip_protocol]);
if(r->instance_name){
printf("
}
if(r->hostname){
printf("
}
if(r->txt_count){
printf("
for(t=0; t<r->txt_count; t++){
printf("%s=%s;
}
printf("\n");
}
a
=
r->addr;
while(a){
if(a->addr.type
printf("
}
else
{
printf("
}
a
=
a->next;
}
r
=
r->next;
}
}
void
find_mdns_service(const
{
ESP_LOGI(TAG,
"Query PTR:
mdns_result_t
*
esp_err_t err
=
if(err){
ESP_LOGE(TAG,
return;
}
if(!results){
ESP_LOGW(TAG,
return;
}
mdns_print_results(results);
mdns_query_results_free(results);
}
Example of using the methods above:
void
my_app_some_method(){
//search for esp32s2-mdns.local
resolve_mdns_host("esp32s2-mdns");
//search for HTTP servers
find_mdns_service("_http", "_tcp");
Espressif Systems
*
r
=
results;
a
=
NULL;
PTR :
%s\n", r->instance_name);
SRV :
%s.local:%u\n", r->hostname, r->port);
TXT : [%u]
", r->txt_count);
", r->txt[t].key, r->txt[t].value);
==
IPADDR_TYPE_V6){
AAAA: "
IPV6STR "\n", IPV62STR(a->addr.u_addr.ip6));
A
: "
IPSTR "\n", IP2STR(&(a->addr.u_addr.ip4)));
char
*
service_name,
%s.%s.local", service_name, proto);
results
=
NULL;
mdns_query_ptr(service_name, proto, 3000, 20,
"Query
Failed");
"No results
found!");
Submit Document Feedback
results){
%s\n", i++, if_str[r->tcpip_if], ip_
const
char
610
(continued from previous page)
*
proto)
&results);
(continues on next page)
Release v4.4

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ESP32-S2 and is the answer not in the manual?

Subscribe to Our Youtube Channel

Table of Contents

Save PDF