Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

314
Visualizações
¿Cómo calcular la tasa de paquetes recibidos en una PC basada en Linux? Como pps o fps

Estoy escribiendo un programa de red que puede calcular la tasa de paquetes de datos precisa (paquete por segundo, cuadro por segundo, bps). Ahora tengo un dispositivo llamado testcenter que puede enviar un flujo preciso a una computadora específica (el protocolo es UDP/IP) en Linux, me gusta saber los pps (paquetes por segundo) precisos con mi programa, he considerado gettimeofday(&start,NULL) antes de llamar a recvfrom() y actualizar el contador de paquetes, luego llamar a gettimeofday(&end,NULL) y obtener la tasa de pps. Espero que haya una solución mejor que esta, ya que la barrera de usuario/núcleo se atraviesa en las llamadas al sistema. Saludos.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Creo que deberías usar clock_gettime() con CLOCK_MONOTONIC_COARSE. Pero solo será preciso hasta el último tic. Por lo tanto, puede estar errado por decenas de milisegundos. Pero definitivamente es más rápido que usarlo con CLOCK_MONOTONIC_RAW. También puede usar gettimeofday pero clock_gettime con CLOCK_MONOTONIC_RAW es ligeramente más rápido y de mayor resolución que gettimeofday. También gettimeofday() da la hora del reloj de pared, que podría cambiar incluso para el horario de verano... No creo que debas usarlo para medir la tasa de tráfico.

over 4 years ago · Santiago Trujillo Relatório

0

Su observación de que gettimeofday cambia al modo kernel es incorrecta para Linux en algunas arquitecturas populares debido al uso de vsyscalls. Claramente, usar gettimeofday aquí no es una mala opción. Sin embargo, debería considerar usar un reloj monótono, vea man 3 clock_gettime . Tenga en cuenta que clock_gettime aún no se ha convertido a vsyscall para tantas arquitecturas como gettimeofday .

Más allá de esta opción, puede configurar la opción de socket SO_TIMESTAMP y obtener marcas de tiempo precisas a través recvmsg .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda