Choix dynamic du numéro de port?

En Java, je dois saisir un numéro de port pour la communication entre plusieurs instances du même programme. Maintenant, je pourrais simplement choisir un nombre fixe et aller avec. Mais je me demande s’il est possible de choisir le numéro de port de manière dynamic, afin que je n’ai pas à déranger mes utilisateurs de définir le numéro de port.

Voici une idée que j’avais, qui fonctionne comme ceci:

  • Il y a un numéro de port initial fixe A.
  • Le programme ‘MyApp’ démarre et tente de saisir le port A.
  • Si cela réussit, c’est la première instance de ‘MyApp’. Terminé.
  • En cas d’échec, il demande sur le port A si le programme sur A est une instance de ‘MyApp’. Si oui, communiquez avec cette instance. Terminé. Sinon, essayez de saisir le port A + 1. Et si un autre programme utilise ce port (pas une instance de ‘MyApp’ non plus), saisissez A + 2, puis A + 3, etc.

Cette stratégie a-t-elle un sens? Ou existe-t-il un meilleur moyen de choisir dynamicment un numéro de port?