Skip to content

Conversation

beegee-tokyo
Copy link
Contributor

The ESP8266 version of the mDNS library expected service name and protocol without leading _ (underscore). The ESP32 version expected service name and protocol with leading _ (underscore).

This small change makes the ESP32 version compatible with the ESP8266 version and keeps backward compatibility with existing code by accepting service name and protocol either with or without leading _ (underscore).

See issues #962 #387

Tested with following combinations:

 MDNS.addService("test1","tcp",9998); MDNS.addServiceTxt("test1", "tcp", "id", "mDNS-Test"); MDNS.addService("_test2","tcp",9998); MDNS.addServiceTxt("_test2", "tcp", "id", "mDNS-Test"); MDNS.addService("test3","_tcp",9998); MDNS.addServiceTxt("test3", "_tcp", "id", "mDNS-Test"); MDNS.addService("_test4","_tcp",9998); MDNS.addServiceTxt("_test4", "_tcp", "id", "mDNS-Test");
The ESP8266 version of the mDNS library expected service name and protocol without leading '_' (underscore). The ESP32 version expected service name and protocol with leading '_' (underscore). This small change makes the ESP32 version compatible with the ESP8266 version and keeps backward compatible with existing code by accepting service name and protocol either with or without leading '_' (underscore).
@baggior
Copy link
Contributor

baggior commented Feb 6, 2018

thank you

when will be merged?

}
WiFi.onEvent(_on_sys_event);
_hostname = hostName;
_hostname.toLowerCase();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't this be merged with the line above as:
_hostname = hostName.toLowerCase();

Copy link
Contributor

@baggior baggior Feb 6, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think
String.toLowerCase() make side effect on the object itself and doesn't returns anything
https://www.arduino.cc/reference/en/language/variables/data-types/string/functions/tolowercase/

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right, I was looking at it and it looked odd. Normally a method like this would return the modification rather than do the modification on the object itself. It appears that https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/WString.h#L255 is just doing a direct modification on the object in place.

@beegee-tokyo
Copy link
Contributor Author

@me-no-dev - Anybody working on these pull requests? There are 27 open pull requests, and it seems nobody is working on them.

@baggior
Copy link
Contributor

baggior commented Feb 19, 2018

@me-no-dev
How can I contribute working on the pull requests?

What do I have to do to commit on this repository?

@me-no-dev me-no-dev merged commit 494ff21 into espressif:master Mar 4, 2018
@me-no-dev
Copy link
Member

Sorry guys, I had lots of unrelated to Arduino work to cover :) I surely am back though

Curclamas pushed a commit to Curclamas/arduino-esp32 that referenced this pull request Aug 21, 2018
The ESP8266 version of the mDNS library expected service name and protocol without leading '_' (underscore). The ESP32 version expected service name and protocol with leading '_' (underscore). This small change makes the ESP32 version compatible with the ESP8266 version and keeps backward compatible with existing code by accepting service name and protocol either with or without leading '_' (underscore).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants