2010-12-29 8 views
7

come posso inviare una richiesta ping con una dimensione specifica di byte, lo stesso di determinare lo -l quando si invia il ping attraverso la riga di comando. puoi darmi un esempio?invio di ping con quantità di byte specifici utilizzando C#

posso anche determinare la quantità di pacchetti inviati dal ping? come -n sulla riga di comando.

grazie :)

risposta

8

È possibile utilizzare la classe System.Net.NetworkInformation.Ping per inviare ICMP echo requests. Ti dà il controllo completo sulla dimensione del pacchetto e il numero di pacchetti inviati:

using System.Net.NetworkInformation; 

public void PingHost(string host, int packetSize, int packetCount) 
{ 
    int timeout = 1000; // 1 second timeout. 
    byte[] packet = new byte[packetSize]; 
    // Initialize your packet bytes as you see fit. 

    Ping pinger = new Ping(); 
    for (int i = 0; i < packetCount; ++i) { 
     pinger.Send(host, timeout, packet); 
    } 
} 
+0

In ogni caso l'esempio di codice è sbagliato. Manderai tanti ping quante sono le dimensioni del pacchetto che la strega ha sbagliato. Devi confrontare all'interno di for contro totalSends. –

+0

@SoMos, bella cattura, risolto. Grazie :) –

+0

Frédéric Hamidi, grazie! e @SoMos grazie a. –

0

messaggio Ping viene inviato utilizzando il protocollo ICMP utilizzando la classe System.Net.NetworkInformation.Ping. Ecco un semplice esempio per inviare messaggi ping a specifici indirizzi IP o siti Web. Se non si invia il proprio specifico array di byte, .Net ha inviato automaticamente il proprio array di byte.

Esempio:

Ping objPing = new Ping(); 

    try 
    { 
     PingReply objReply = objPing.Send(txtURL.Text, 1000); 

     if (objReply.Status == IPStatus.Success) 
     { 
      lblProductName.Text = string.Format("<b>Success</b> - IP Address:{0} Time:{1}ms", objReply.Address, objReply.RoundtripTime); 
     } 
     else 
     { 
      lblProductName.Text = objReply.Status.ToString(); 
     } 
    } 
    catch (Exception ex) 
    { 
     lblProductName.Text = ex.Message; 
    } 
+2

Non eseguire il rollback Modifiche che rimuovono nuovamente i collegamenti spam. –

Problemi correlati