Vous pouvez écouter sur le port de votre choix ; en général, les applications utilisateur doivent écouter sur les ports 1024 et plus (jusqu'à 65535). Si vous avez un nombre variable d'auditeurs, l'essentiel est d'attribuer une plage à votre application - disons 20000-21000, et ATTRAPE LES EXCEPTIONS . C'est ainsi que vous saurez si un port est inutilisable (utilisé par un autre processus, en d'autres termes) sur votre ordinateur.
Cependant, dans votre cas, vous ne devriez pas avoir de problème à utiliser un seul port codé en dur pour votre écouteur, tant que vous imprimez 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ées à des numéros de port spécifiques - seules les sockets qui attendent des connexions entrantes (comme votre maître ici) devront être transformées en auditeur et liées à un port. Si un port n'est pas spécifié pour une socket avant qu'elle ne soit utilisée, le système d'exploitation assignera un port utilisable à la socket. Lorsque le maître veut répondre à un esclave qui lui envoie des données, l'adresse de l'expéditeur est accessible lorsque le listener reçoit des données.
Je suppose que vous utiliserez UDP pour cela ?
1 votes
Par ailleurs, si vous choisissez un numéro de port aléatoire ou proche du hasard (de préférence supérieur à 1024), il sera probablement disponible. Vous pouvez même utiliser le port 80, 21 ou autre, tant qu'aucun autre programme ne l'écoute. À tout moment, sur un système normal, seule une petite fraction des ports est utilisée.
24 votes
Choisir un port au hasard n'est pas une bonne idée - laissez le système d'exploitation en choisir un pour vous.
0 votes
Sur POSIX : stackoverflow.com/questions/913501/