[go: nahoru, domu]

Skip to content
This repository has been archived by the owner on Apr 4, 2023. It is now read-only.

DNS-SD name conflict resolution #16

Open
farshidtz opened this issue May 22, 2020 · 1 comment
Open

DNS-SD name conflict resolution #16

farshidtz opened this issue May 22, 2020 · 1 comment
Projects

Comments

@farshidtz
Copy link
Member
farshidtz commented May 22, 2020

In the current version, multiple service can register under the same name. Instead the service should detect the conflict and pick a new name.

When a DNS-SD service is advertised using Multicast DNS [RFC6762], if
   there is already another service of the same type advertising with
   the same name then automatic name conflict resolution will occur.  As
   described in the Multicast DNS specification [RFC6762], upon
   detecting a conflict, the service should:

   1.  Automatically select a new name (typically by appending or
       incrementing a digit at the end of the name),
   2.  Try advertising with the new name, and
   3.  Upon success, record the new name in persistent storage.

   This renaming behavior is very important, because it is key to
   providing user-friendly instance names in the out-of-the-box factory-
   default configuration. 

https://tools.ietf.org/html/rfc6763#appendix-D

@farshidtz
Copy link
Member Author

dns-sd client on macOS automatically adds an index:

dns-sd -R "Test" _wot._tcp local 1003
Registering Service Test._wot._tcp.local port 1003
DATE: ---Fri 22 May 2020---
18:19:43.719  ...STARTING...
18:19:44.380  Got a reply for service Test._wot._tcp.local.: Name now registered and active
 dns-sd -R "Test" _wot._tcp local 1004
Registering Service Test._wot._tcp.local port 1004
DATE: ---Fri 22 May 2020---
18:19:50.696  ...STARTING...
18:19:52.736  Got a reply for service Test (2)._wot._tcp.local.: Name now registered and active

@farshidtz farshidtz added this to To do in dev May 22, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
dev
  
To do
Development

No branches or pull requests

1 participant