-
Notifications
You must be signed in to change notification settings - Fork 13.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LEAmDNS - Multicast DNS Responder #5442
Conversation
Created a new branch to solve commit conflicts with recent changes to ESP8266mDNSResponder.cpp by d-a-v.
unindent
unindent
Add setInstanceName() forwarder for compat
DEBUG_OUTPUT needs to go inside DEBUG_EX_ function otherwise throw error if DEBUG_ESP_MDNS_RESPONDER is not defined
[Fixed] Debug output line
Disable DEBUG_ESP_MDNS_RESPONDER by default
@LaborEtArs thanks for the work on this! Seems like you closed 5% of our open bugs with this rewrite! |
I second the thanks! Looking forward to trying this out. |
Any estimate on when it may be considered no longer "currently experimental" ? |
It is experimental because it is new, and some further minor work is still needed. It is also already the default given the long list of issues of the legacy implementation, and due to much better behavior and code quality. |
Sounds reasonable :) |
I think Legacy is the default: https://github.com/esp8266/Arduino/pull/5442/files#diff-15e94833dc0151fd6f39ef509d8c1a9fR48 |
@TD-er per current schedule, the time frame for 2.5.0 is -4 days, as in we're 4 days overdue. |
That would be sooner than I expected, so within a week is no problem (to me) |
Hi!
Have you got an iPhone nearby? If yes, just get a copy of ‚Discovery‘ from the App Store. With this app you can see all the mDNS services in your network without any Windows hassles.
And please make sure, that you’ve got a call to MDNS.update() in you loop.
Best regards
Hartmut Albers (LaborEtArs)
Am 16.12.2018 um 23:38 schrieb Guillaume <notifications@github.com>:
Hello, I can't get mdns to work at all. It worked last time I tried, it was like a year ago. I have Windows 10 up to date, I have reinstalled Bonjour, and tried with the library examples, no luck, I can't ping or access esp8266.local. Is it just me?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Hello, Probing an existing host even if the answer shows a conflict, does return bunch of info including the IP in |
Hi @aboulfad ! |
Thank you for the reply. Indeed I looked at all examples and learned (i think) that there is no direct function/class/method to resolve I got inspired by the examples that one could potentially write a query local hostname method by using the .setHostProbeResultCallback and specify the host that needs to be resolved and extract the IP address from the answer. Sure there is an easier way that the author can whip up in a jiffy! I'll continue reading the code (afraid I know zeroC++) I use
|
In fact, currently there is no method to resolve a hostname. mDNS is used to discover services, like a printer, ... To do so, a service query is done. The result of such a query would be zero or more service answers. Each answer then contains the name of the host, that offers the service (and IP address and port). Using these information, some can connect to one or more of these services. |
Interesting! I did not think the network classes in ESP can resolve local hostnames ( mDNS is also used to discover/query hostnames and inherently resolve that to an IP addr if there are no local "nameservers" (and not just for the purpose of service discovery). That is one of the requirements of zeronconf. The m for multicast is key to that capability in local network that does not have a namesever. When a client wants to reach another using the .local domain, it sends a multicast to (224.0.0.251) QU question. (sure you know all that) I appreciate your answer, and thank you very much for simplifying my task, now don't need to learn or write any mDNS query method ;-) it's there ! |
A (currently experimental) mDNS responder to (maybe) replace the current ESP8266 mDNS responder in the future.
Supported mDNS features (in some cases somewhat limited):
In most cases, this implementation should work as a 'drop-in' replacement for the original ESP8266 mDNS code. Adjustments to the existing code should only be needed, if some of the new features should be used. See the LEAmDNS/mDNS_Clock and LEAmDNS/mDNS_ServiceMonitor examples for more information.