Question FAQ : Comment écrire un serveur multiple interfaces ?

Je veux exécuter un serveur sur une machine qui possède plusieurs interfaces réseau. Cette machine fait partie de 2 réseaux et possède 2 interfaces ethernet. Je veux exécuter un serveur sur cette machine, me lier avec un numéro de port défini. Je veux que les clients sur chacun des réseaux puissent envoyer un paquet broadcast sur ce numéro de et que le serveur puisse le traiter.
La première question dans ce scenario est : avez-vous besoin de connaitre de quel réseau provient le paquet. ? Je ne suis pas sûr que ceci puisse être déterminé de manière fiable dans tous les cas.
Si la réponse est non (vous n’avez pas besoin de savoir par quel réseau cela provient), alors, tout ce dont vous avez besoin, c’est une seule socket utilisant l’adresse « INADDR_ANY ». Ceci simplifie considérablement le problème.
Si vous avez besoin de connaitre de quel réseau provient le paquet alors vous devez utiliser une socket pour chacune des interfaces utilisées.