Réponse courte:
En passant par la réponse donnée ici . Vous pouvez avoir deux applications écoutant sur la même adresse IP et le même numéro de port, tant l'un des ports est un port UDP, tandis que l'autre est un port TCP.
Explication:
Le concept de port est pertinent sur la couche de transport de la pile TCP / IP, donc tant que vous utilisez différents protocoles de couche de transport de la pile, vous pouvez avoir plusieurs processus à l'écoute sur le même <ip-address>:<port>
combinaison.
Un doute que les gens ont est que si deux applications s'exécutent sur la même <ip-address>:<port>
combinaison, comment un client s'exécutant sur une machine distante fera-t-il la distinction entre les deux? Si vous regardez l'en-tête du paquet de couche IP ( https://en.wikipedia.org/wiki/IPv4#Header ), vous verrez que les bits 72 à 79 sont utilisés pour définir le protocole, c'est ainsi que la distinction peut être faite.
Si toutefois vous voulez avoir deux applications sur la même <ip-address>:<port>
combinaison TCP , la réponse est non (un exercice intéressant sera de lancer deux machines virtuelles, de leur donner la même adresse IP, mais des adresses MAC différentes, et de voir ce qui se passe - vous remarquerez que parfois VM1 recevra des paquets, et d'autres fois VM2 recevra des paquets - en fonction de l'actualisation du cache ARP).
Je pense qu'en faisant fonctionner deux applications sur le même <op-address>:<port>
vous voulez obtenir une sorte d'équilibrage de charge. Pour cela, vous pouvez exécuter les applications sur différents ports et écrire des règles de table IP pour bifurquer le trafic entre elles.
Voir également la réponse de @ user6169806.