AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1586246
Accepted
geek225
geek225
Asked: 2020-09-17 23:12:26 +0800 CST2020-09-17 23:12:26 +0800 CST 2020-09-17 23:12:26 +0800 CST

Como posso fazer um ping a cada 500 ms?

  • 772

Por padrão, o atraso de tempo entre dois pings é igual a 1 segundo. Minha necessidade é reduzir o atraso entre dois pings para 500 ms (0,5 segundos). Há alguma maneira de fazer isso?

cmd.exe ping
  • 6 6 respostas
  • 26992 Views

6 respostas

  • Voted
  1. Best Answer
    SimonS
    2020-09-18T00:03:19+08:002020-09-18T00:03:19+08:00

    Editar 17.05.2022

    Uma alternativa ainda melhor seria usar a classe System.Net.NetworkInformation.Ping e envolvê-la em uma função. Eu mantive muito fácil, você pode mexer com ele para obter a saída desejada.

    Aqui está a função:

    • Computername aceita endereços IP internos + externos, ComputerNames, URLs etc.
    • Count = Quantos pacotes de ping enviar
    • Timeout especifica o número máximo de milissegundos (depois de enviar a mensagem de eco) para aguardar a mensagem de resposta de eco do ICMP.
    • Intervalo = Quantos milissegundos esperar antes do próximo ping.

    .

    Function New-IntervalPing {
    
        [Alias("iping")]
        Param(
            [string]$ComputerName,
            [int]$Count = 4,
            [int]$TimeOut = 100,
            [int]$Interval = 500
        )
    
        1..$Count | ForEach-Object {
            $Ping = [System.Net.NetworkInformation.Ping]::New()
            $Ping.Send($ComputerName,$TimeOut)
            start-sleep -Milliseconds $Interval
        }
    }
    

    uso:

    PS C:\Users\SimonS> iping google.com -count 2 -interval 300
    
    
    Status        : Success
    Address       : 172.217.168.14
    RoundtripTime : 6
    Options       : System.Net.NetworkInformation.PingOptions
    Buffer        : {97, 98, 99, 100...}
    
    Status        : Success
    Address       : 172.217.168.14
    RoundtripTime : 4
    Options       : System.Net.NetworkInformation.PingOptions
    Buffer        : {97, 98, 99, 100...}
    

    Resposta antes de 17.05.2022

    Você poderia criar um loop infinito em PowerShell, enviar 1 ping para lá e aguardar 500ms após enviá-lo.

    while ($true) { Test-Connection ServerName -Count 1 ; Start-Sleep -MilliSeconds 500 }
    

    Você também pode envolvê-lo em uma função e colocá-lo em seu perfil do PowerShell para usá-lo a qualquer momento

    Function New-Ping {
        
        Param(
            [Parameter(Mandatory)]
            [string]$ComputerName,
            [Parameter(Mandatory)]
            [int]$Intervall
        )
    
        while ($true) { 
            Test-Connection $ComputerName -Count 1
            Start-Sleep -MilliSeconds $Intervall 
        }
    }
    

    e use-o assim de dentro PowerShell:

    New-Ping ServerName 500
    

    Você também pode usá-lo cmd.exeassim:

    C:\WINDOWS\system32>powershell new-ping SRV 500
    
    Source        Destination     IPV4Address      IPV6Address                              Bytes    Time(ms)
    ------        -----------     -----------      -----------                              -----    --------
    CP            SRV            10.0.0.226                                                32       0
    CP            SRV            10.0.0.226                                                32       0
    CP            SRV            10.0.0.226                                                32       0
    

    Você pode encerrar o loop infinito pressionando CTRL + C

    • 20
  2. n8te
    2020-09-17T23:47:53+08:002020-09-17T23:47:53+08:00

    Você pode fazer isso com nping (dos criadores do nmap )

    1. Primeiro baixe e instale o pacote nmap que inclui nping .
    2. Em um prompt de comando, altere o diretório paraC:\Program Files (x86)\Nmap
    3. Agora execute o seguinte comando: nping --delay 500ms --count 0 <target ip address>
      (a --count 0opção define um ping contínuo)

    .... do Guia de referência do Nping :

    Usage: nping [Probe mode] [Options] {target specification}
    ....
    ....
    TIMING AND PERFORMANCE:
      Options which take <time> are in seconds, or append 'ms' (milliseconds),
      's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m, 0.25h).
      --delay <time>                   : Adjust delay between probes.
      --rate  <rate>                   : Send num packets per second.
    
    • 18
  3. pbies
    2020-09-18T13:48:28+08:002020-09-18T13:48:28+08:00

    No Linux é possível (recentemente o tempo mínimo foi alterado para 200ms = 0,2):

    ping -i 0.2 server.com
    

    Raiz pode emitir tempo mais curto:

    ping -i 0.01 server.com
    
    • 18
  4. spikey_richie
    2020-09-17T23:32:36+08:002020-09-17T23:32:36+08:00

    Você não pode alterar o tempo entre cada solicitação de ping na linha de comando do Windows. Você precisará de uma ferramenta de terceiros, como fping ou TruePing

    Consulte também https://serverfault.com/questions/200468/how-can-i-set-a-short-timeout-with-the-ping-command

    • 9
  5. Io-oI
    2020-09-18T01:56:22+08:002020-09-18T01:56:22+08:00
    • No PowerShell
    $cnt=0; while ($cnt -le 9) {$cnt++; Start-Sleep -MilliSeconds 500; Test-Connection 1.1.1.1 -Count 1}
    • Uma opção usando aliases:
    $cnt=0;while($cnt -le 9){$cnt++;Test-Connection 1.1.1.1  -Cou 1; sleep -M 500} 

    Versão super golfada da sugestão de comentário de @wasif-hasan :

    0..9|%{test-Connection 1.1.1.1 -cou 1;sleep -m 500}
    • Saídas/Resultados:
    Source        Destination     IPV4Address      IPV6Address                              Bytes    Time(ms) 
    ------        -----------     -----------      -----------                              -----    -------- 
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       18       
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       20       
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       15       
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       17       
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       15       
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       19       
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       16       
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       16       
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       18       
    LAME_SLUG     1.1.1.1         1.1.1.1          2606:4700:4700::1111                     32       19 

    • Algumas leituras adicionais para o PowerShell:

      [√] Enquanto | $cnt+

      [√] Conexão de teste

      [√] Iniciar-Sono | Dorme

      [√] Remover-Variável | Rv



    • Em Bat/CMD:
    @echo off 
    
    :loop
    pathping 127.1 -n -q 1 -p 500 >nul 2>nul 
    ping 151.101.193.69 -n 1 -4 & goto=:loop
    • Ou com um limite de ping/loop predefinido:

    @echo off & setlocal

    :ciclo pathping 127.1 -n -q 1 -p 500 >nul 2>nul ping 1.1.1.1 -n 1 -4 & set /a "_cnt+=1+0" if %_cnt% leq 10 (ir para:loop) else ir para:eof


    Use pathpingda Microsoft e vem com o Windows

    C:\Users\ecker>where pathping
    C:\Windows\System32\PATHPING.EXE

    C:\Users\ecker>PATHPING.EXE /?
    Usage: pathping [-g host-list] [-h maximum_hops] [-i address] [-n]
                    [-p period] [-q num_queries] [-w timeout]
                    [-4] [-6] target_name
    
    Options:
        -g host-list     Loose source route along host-list.
        -h maximum_hops  Maximum number of hops to search for target.
        -i address       Use the specified source address.
        -n               Do not resolve addresses to hostnames.
        -p period        Wait period milliseconds between pings.
        -q num_queries   Number of queries per hop.
        -w timeout       Wait timeout milliseconds for each reply.
        -4               Force using IPv4.
        -6               Force using IPv6.

    Obs.: Quando -p é especificado, os pings são enviados individualmente para cada salto intermediário. Quando -w é especificado, vários pings podem ser enviados em paralelo. Portanto, é possível escolher um parâmetro Timeout menor que o período de espera * número de saltos.


    • Algumas leituras adicionais para cmd/bat:

      [√] PathPing

    • 9
  6. Dave Cousineau
    2022-07-04T11:24:29+08:002022-07-04T11:24:29+08:00

    Uma maneira muito simples de fazer isso é executar dois pings cada um em sua própria janela. (Não estritamente 1 a cada 500 ms, mas seria 2 por segundo.)

    Isso fica complicado rapidamente, mas algo como 5 de uma vez é possível.

    • 0

relate perguntas

  • O Windows não reinicia, não consegue acessar o Gerenciador de tarefas ou iniciar determinados programas

  • Como criar um script que ouça as alterações de conteúdo e toque nas pastas pai até o fim?

  • O que causa a perda de pacotes na minha rede?

  • Qual é o comando para redefinir uma instalação do Windows sem excluir nenhum arquivo

  • O Windows 2016 não executa o arquivo .bat

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve