Pular para o conteúdo principal

Questão de Programação — Conceitos básicos de programação — CESPE / CEBRASPE 2024

ProgramaçãoConceitos básicos de programação
Código
ce190526
Banca
CESPE / CEBRASPE
Órgão
TSE
Ano
2024
Nível
Superior
Cargo
Analista Judiciário – Área: Apoio Especializado – Especialidade: Tecnologia da Informação
Captura_de tela 2024-12-17 082855.png 439×48Considerando a linha de código precedente, julgue o item seguinte, em relação à biblioteca libcurl.A função curl_multi_setopt configura o número máximo de conexões simultâneas que o gerenciador de múltiplas conexões (CURLM) pode manter abertas ao mesmo tempo.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

libcurl: gerenciamento de múltiplas conexões (CURLM)

Gabarito: letra E (ERRADO). A função curl_multi_setopt não configura diretamente o número máximo de conexões simultâneas; essa configuração é feita pela opção CURLMOPT_MAX_TOTAL_CONNECTIONS, que deve ser passada como parâmetro para curl_multi_setopt. A afirmação está incorreta porque atribui à função uma capacidade que ela não possui de forma direta, sem especificar a opção correta.

A libcurl é uma biblioteca de transferência de dados via URL, amplamente utilizada em diversas linguagens de programação. Ela oferece duas interfaces principais: a interface fácil (curl_easy_*), para operações individuais, e a interface multi (curl_multi_*), que permite gerenciar múltiplas transferências simultâneas de forma assíncrona. O gerenciador de múltiplas conexões (CURLM) é o objeto que coordena essas transferências, e suas configurações são ajustadas por meio da função curl_multi_setopt.

A função curl_multi_setopt recebe três argumentos: o ponteiro para o objeto CURLM, a opção a ser configurada e o valor correspondente. Existem diversas opções disponíveis, como CURLMOPT_MAX_TOTAL_CONNECTIONS, que define o número máximo de conexões simultâneas que o gerenciador pode manter abertas, e CURLMOPT_MAX_HOST_CONNECTIONS, que limita o número de conexões por host. Portanto, a afirmação do enunciado está incorreta porque não menciona a opção específica, dando a entender que a função em si já realiza essa configuração, o que não é verdade.

Na prática, para configurar o número máximo de conexões simultâneas, o programador deve chamar curl_multi_setopt com a opção CURLMOPT_MAX_TOTAL_CONNECTIONS e o valor desejado. Por exemplo, em C:

CURLM *multi_handle = curl_multi_init();
curl_multi_setopt(multi_handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, 10L);

Nesse caso, o gerenciador permitirá no máximo 10 conexões simultâneas. A confusão comum é achar que a função curl_multi_setopt sozinha já define esse limite, mas ela apenas aplica a opção que é passada como argumento. A banca explora exatamente essa imprecisão para induzir o candidato ao erro.

É importante distinguir entre a função curl_multi_setopt e a opção CURLMOPT_MAX_TOTAL_CONNECTIONS. A função é um mecanismo genérico de configuração, enquanto a opção é o parâmetro específico que controla o limite de conexões. Sem a opção correta, a função não tem efeito sobre o número de conexões. Essa distinção é crucial para responder corretamente a questões sobre a libcurl.

curl_multi_setopt
  • 1Função genérica de configuração
    • Recebe: CURLM, opção, valor
    • Aplica a opção passada
  • 2Opção para limite de conexões
    • CURLMOPT_MAX_TOTAL_CONNECTIONS
      • Nº máximo de conexões simultâneas
    • CURLMOPT_MAX_HOST_CONNECTIONS
      • Limite por host
  • 3Erro comum
    • Achar que a função sozinha define o limite
LEVEL · soulevel.com.br

Alternativa C — ❌ Incorreta

A alternativa afirma que a função curl_multi_setopt configura o número máximo de conexões simultâneas. Isso está incorreto porque a função é apenas o mecanismo para aplicar configurações; o limite de conexões é definido pela opção CURLMOPT_MAX_TOTAL_CONNECTIONS. A banca explora a imprecisão de não mencionar a opção específica, levando o candidato a acreditar que a função em si já realiza essa configuração.

Alternativa E — ✅ Correta ⟵ GABARITO

A alternativa correta é a letra E, pois a afirmação está errada. A função curl_multi_setopt não configura diretamente o número máximo de conexões; ela apenas aplica a opção passada como argumento. Para configurar o limite, é necessário usar a opção CURLMOPT_MAX_TOTAL_CONNECTIONS. Portanto, a afirmação do enunciado é incorreta.

Gabarito: letra E

Link permanente: /questoes/ce190526