Vous pouvez écouter sur le port que vous voulez; en général, les applications utilisateur doivent écouter les ports 1024 et supérieurs (jusqu'à 65535). La principale chose si vous avez un nombre variable d'auditeurs est d'allouer une gamme à votre application - disons 20000-21000, et EXCEPTIONS CATCH. C'est ainsi que vous saurez si un port est inutilisable (utilisé par un autre processus, en d'autres termes) sur votre ordinateur.
Toutefois, dans votre cas, vous ne devriez pas avoir de problème à utiliser un seul port codé en dur pour votre écouteur, à condition d'imprimer un message d'erreur si la liaison échoue. Notez également que la plupart de vos sockets (pour les esclaves) n'ont pas besoin d'être explicitement liés à des numéros de port spécifiques - seules les sockets qui attendent les connexions entrantes (comme votre maître ici) devront être écoutées et reliées à un port. Si un port n'est pas spécifié pour une socket avant son utilisation, le système d'exploitation attribuera un port utilisable à la socket. Lorsque le maître souhaite répondre à un esclave qui lui envoie des données, l'adresse de l'expéditeur est accessible lorsque l'auditeur reçoit des données.
Je présume que vous utiliserez UDP pour cela?
Soit dit en passant, si vous choisissez juste un numéro de port aléatoire ou ish aléatoire (de préférence supérieur à 1024), il sera probablement disponible . Vous pouvez même utiliser le port 80 ou 21 ou autre, tant qu'aucun autre programme ne l'écoute. À un moment donné, sur un système normal, seule une petite fraction des ports est utilisée. –
Choisir un port aléatoire n'est pas une bonne idée - laissez le système d'exploitation en choisir un pour vous. – Corehpf
Sur POSIX: http://stackoverflow.com/questions/913501/how-to-let-kernel-choose-a-port-number-in-the-range-1024-5000-in-tcp-socket-pr –