J'utilise un UdpClient pour envoyer des paquets à un serveur. J'initialise le UdpClient lors de la construction de mon objet Sender, en utilisant le constructeur (hostname, port). Lorsqu'il est construit de cette manière, UdpClient résout le nom d'hôte en adresse IP. Les appels suivants à l'objet UdpClient utilisent l'adresse IP.Comment faire pour que UdpClient réagisse aux mises à jour DNS
Malheureusement, si l'alias DNS utilisé est mis à jour via le système DNS pour pointer vers une adresse IP différente, cette modification n'est pas répercutée dans mon objet expéditeur sauf s'il est recréé.
Quelle serait la meilleure façon de faire réagir mon objet Sender aux changements DNS en temps opportun? La performance est très importante. Je peux penser à plusieurs solutions:
- Effectuer une résolution DNS à chaque appel (c'est-à-dire en utilisant la surcharge Envoyer qui accepte un paramètre de nom d'hôte). Cela peut effectivement être assez rapide à cause du cache DNS Windows, je ne sais pas.
- Avoir une sorte de vérificateur DNS s'exécutant sur un thread minuteur pour vérifier périodiquement si l'alias DNS résout à une adresse IP différente. Si c'est le cas, cela mettrait UdpClient à jour pour utiliser la nouvelle adresse IP. Cependant, je ne veux pas vraiment verrouiller l'objet UdpClient à chaque appel - comme je l'ai dit, la performance est importante.
Quelqu'un at-il une expérience de faire cela?