Dart.PowerTCP.SslSockets Namespace : HopEventArgs Class |
Provides data for the Hop event which is raised as ICMP responses are received from hosts during a trace operation.
For a list of all members of this type, see HopEventArgs members.
![]() ![]() ![]() |
System.Object
System.EventArgs
Dart.PowerTCP.SslSockets.HopEventArgs
[Visual Basic]
Public Class HopEventArgs
Inherits EventArgs
[C#]
public class HopEventArgs : EventArgs
[C++]
public __gc class HopEventArgs : public EventArgs
[C++/CLI]
public ref class HopEventArgs : public EventArgs
A HopEventArgs object is passed as a parameter to all events that mark the response from a host during a trace route operation. The Result property is a HopResult object encapsulating data about the hop.
If your code causes an exception, it would be returned to the handling event without you seeing it. To preclude such a condition, you should ALWAYS use a try/ catch block around your event-handling code.
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)
HopEventArgs Members | Dart.PowerTCP.SslSockets Namespace
Send comments on this topic.
Documentation version 1.1.2.0.
© 2008 Dart Communications. All rights reserved.