Dart.PowerTCP.SslSockets Namespace : HopType Enumeration (Dart.PowerTCP.SslSockets) |
Enumerates the values which determine the behavior of the individual hops when performing a trace route operation.
Member | Description |
---|---|
SynchHops | Each hop is synchronous. Each echo comprising the hop is synchronous. |
AsynchHops | Each hop is asynchronous. Each echo comprising the hop is asynchronous. |
AsynchEchoes | Each hop is synchronous. Each echo comprising the hop is asynchronous. |
A trace route operation is made up of a series of hops. Each hop is made up of 3 ICMP echoes. The HopType property determines the behavior of the hops.
HopType.SynchHops represents the traditional trace route approach. Change this to HopType.AsynchHops or HopType.AsynchEchoes for enhanced trace route speed.
The following example demonstrates a basic trace route operation.
[Visual Basic]
Private Sub TraceTest()
' Set all hops and echoes to be synchronous
Trace1.HopType = HopType.SynchHops
' Do not exceed 25 hops
Trace1.MaxHops = 25
' Trace the route. Trace.Hop event will be raised when new hop data is available
Dim tr As TraceResult = Trace1.Send("www.dart.com")
' Trace route complete. Display some data.
Debug.WriteLine("Average time for final hop: " & tr.AverageTime)
Debug.WriteLine("Number of hops: " & tr.Hops.Length)
Debug.WriteLine("Remote Address: " & tr.RemoteAddress)
End Sub
Private Sub Trace1_Hop(ByVal sender As Object, ByVal e As HopEventArgs) Handles Trace1.Hop
' Display information about the hop
Debug.WriteLine("Time-to-live for the hop: " & e.Result.TTL)
Debug.WriteLine("Remote address: " & e.Result.RemoteAddress)
' Now display info about each of the three echoes
Debug.WriteLine("Response times for this hop")
Dim er As EchoResult
For Each er In e.Result.Echoes
Debug.WriteLine(er.ResponseTime)
Next
Debug.WriteLine("Average time for this hop: " & e.Result.AverageTime)
End Sub
[C#]
private void TraceTest()
{
// Set all hops and echoes to be synchronous
trace1.HopType = HopType.SynchHops;
// Do not exceed 25 hops
trace1.MaxHops = 25;
// Trace the route. Trace.Hop event will be raised when new hop data is available
TraceResult tr = trace1.Send("www.dart.com");
// Trace route complete. Display some data.
Debug.WriteLine("Average time for final hop: " +
tr.AverageTime);
Debug.WriteLine("Number of hops: " + tr.Hops.Length);
Debug.WriteLine("Remote Address: " + tr.RemoteAddress);
}
private void trace1_Hop(object sender, HopEventArgs e)
{
// Display information about the hop
Debug.WriteLine("Time-to-live for the hop: " +
e.Result.TTL);
Debug.WriteLine("Remote address: " + e.Result.RemoteAddress);
// Now display info about each of the three echoes
Debug.WriteLine("Response times for this hop");
foreach(EchoResult er in e.Result.Echoes)
Debug.WriteLine(er.ResponseTime);
Debug.WriteLine("Average time for this hop: " + e.Result.AverageTime);
}
Namespace: Dart.PowerTCP.SslSockets
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Assembly: Dart.PowerTCP.SslSockets (in Dart.PowerTCP.SslSockets.dll)
Dart.PowerTCP.SslSockets Namespace
Send comments on this topic.
Documentation version 1.1.2.0.
© 2008 Dart Communications. All rights reserved.