É possível que algum programa B possa remover a porta que já está em uso (ouvida) pelo programa A. O programa A (o servidor está ouvindo alguma porta) deve realmente verificar o status da porta depois de abrir essa porta? Eu acho que toda operação com portas (abrir, escutar, fechar) é implementada...