PingOptions Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Wordt gebruikt om te bepalen hoe Ping gegevenspakketten worden verzonden.
public ref class PingOptions
public class PingOptions
type PingOptions = class
Public Class PingOptions
- Overname
-
PingOptions
Voorbeelden
In het volgende codevoorbeeld worden de Pingen PingReplyPingOptions klassen gebruikt om een ICMP-echoaanvraag te verzenden naar de host die is opgegeven op de opdrachtregel.
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;
namespace Examples.System.Net.NetworkInformation.PingTest
{
public class PingExample
{
// args[0] can be an IPaddress or host name.
public static void Main (string[] args)
{
Ping pingSender = new Ping ();
PingOptions options = new PingOptions ();
// Use the default Ttl value which is 128,
// but change the fragmentation behavior.
options.DontFragment = true;
// Create a buffer of 32 bytes of data to be transmitted.
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes (data);
int timeout = 120;
PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
if (reply.Status == IPStatus.Success)
{
Console.WriteLine ("Address: {0}", reply.Address.ToString ());
Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
}
}
}
}
open System.Net.NetworkInformation
open System.Text
// args[0] can be an IPaddress or host name.
[<EntryPoint>]
let main args =
let pingSender = new Ping()
// Use the default Ttl value which is 128,
// but change the fragmentation behavior.
let options = PingOptions()
options.DontFragment <- true
// Create a buffer of 32 bytes of data to be transmitted.
let data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
let buffer = Encoding.ASCII.GetBytes data
let timeout = 120
let reply: PingReply = pingSender.Send(args.[0], timeout, buffer, options)
match reply.Status with
| IPStatus.Success ->
printfn "Address: %O" reply.Address
printfn "RoundTrip time: %d" reply.RoundtripTime
printfn "Time to live: %d" reply.Options.Ttl
printfn "Don't fragment: %b" reply.Options.DontFragment
printfn "Buffer size: %d" reply.Buffer.Length
0
| _ ->
eprintfn "Error sending ping: %O" reply
eprintfn "Error was: %O" reply.Status
1
Opmerkingen
De PingOptions klasse biedt de Ttl en DontFragment eigenschappen om te bepalen hoe ICMP-echopakketten (Internet Control Message Protocol) worden verzonden.
De Ttl eigenschap geeft de Time to Live op voor pakketten die door de Ping klasse worden verzonden. Deze waarde geeft het aantal routeringsknooppunten aan dat een Ping pakket kan doorsturen voordat het wordt verwijderd. Het instellen van deze optie is handig als u het aantal doorstuurservers, ook wel hops genoemd, wilt testen om een pakket van een broncomputer naar een doelcomputer te verzenden.
De DontFragment eigenschap bepaalt of gegevens die naar een externe host worden verzonden, kunnen worden onderverdeeld in meerdere pakketten. Deze optie is handig als u de maximale transmissie-eenheid (MTU) van de routers en gateways wilt testen die worden gebruikt om het pakket te verzenden.
Exemplaren van de PingOptions klasse worden doorgegeven aan de Send en SendAsync methoden en de PingReply klasse retourneert exemplaren van PingOptions via de Options eigenschap.
Zie de PingOptions constructor voor een lijst met initiƫle eigenschapswaarden voor een exemplaar vanPingOptions.
Constructors
| Name | Description |
|---|---|
| PingOptions() |
Initialiseert een nieuw exemplaar van de PingOptions klasse. |
| PingOptions(Int32, Boolean) |
Initialiseert een nieuw exemplaar van de PingOptions klasse en stelt de Time to Live- en fragmentatiewaarden in. |
Eigenschappen
| Name | Description |
|---|---|
| DontFragment |
Hiermee haalt u een Boolean waarde op waarmee de fragmentatie van de gegevens die naar de externe host worden verzonden, wordt bepaald of ingesteld. |
| Ttl |
Hiermee haalt u het aantal routeringsknooppunten op waarmee de Ping gegevens kunnen worden doorgestuurd voordat deze worden verwijderd. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |