Você pode ouvir em qualquer porta que desejar; geralmente, os aplicativos do usuário devem ouvir as portas 1024 e superiores (até 65535). O principal, se você tiver um número variável de ouvintes, é alocar um intervalo para seu aplicativo - digamos 20000-21000 e CATCH EXCEPTIONS . É assim que você saberá se uma porta não pode ser usada (usada por outro processo, em outras palavras) no seu computador.
No entanto, no seu caso, você não deve ter problemas ao usar uma única porta codificada para o seu ouvinte, desde que imprima uma mensagem de erro se a ligação falhar.
Observe também que a maioria dos seus soquetes (para os escravos) não precisa ser explicitamente vinculada a números de porta específicos - apenas os soquetes que aguardam conexões de entrada (como seu mestre aqui) precisarão ser ouvintes e vinculados a uma porta. Se uma porta não for especificada para um soquete antes de ser usada, o sistema operacional atribuirá uma porta utilizável ao soquete. Quando o mestre deseja responder a um escravo que envia dados, o endereço do remetente fica acessível quando o ouvinte recebe dados.
Eu presumo que você estará usando o UDP para isso?