
CTraceRoute
v1.12 an MFC class to encapsulate trace route
functionality
Included is an MFC class to support implement trace route
functionality similar to the "tracert" application included in Windows. Trace route is
based upon the PING/ICMP protocol. ICMP for those not familiar with all the internet
protocols is the protocol used to retrieve information about how IP packets are routed.
Features
- Simple and clean C++ interface.
- The interface provided is synchronous which
provides an easier programming model than using asynchronous sockets.
- virtual functions are provided to support
callback.
- A configurable timeout can be set through
the class API.
- The classes are fully Unicode compliant and
include Unicode built options in the workspace file.
The enclosed
zip file contains the
CTraceRoute source code and a simple test program very similar to "tracert" to exercise all
of the functions the classes provide.
Copyright
- You are allowed to include the source code in
any product (commercial, shareware, freeware or otherwise) when your product
is released in binary form.
- You are allowed to modify the source code in
any way you want except you cannot modify the copyright details at the top
of each module.
- If you want to distribute source code with
your application, then you are only allowed to distribute versions released
by the author. This is to maintain a single distribution point for the
source code.
Updates
V1.0 (18 November 1998)
V1.1 (25 February 2002)
- Updated copyright information
- Class now #includes CPing class rather than
implemented its own implementation of Ping
- General code tidy up and review
V1.11 (5 May 2002)
- Uses latest CPing class, now by default uses ICMP
method in CPing class.
- Sample app provided with tracer now actually observes
the "-d" command line option.
- Fixed a bug where a pinging error would cause the tracer loop to exit
instead of reporting a non-pingable device
V1.12 (7 June 2008)
- Updated copyright details
- Addition of TRACEROUTE_EXT_CLASS define to the classes to allow the
classes to be more easily incorporated into extension DLLs
- Updated the code to work with latest version of the author's CPing class
- Updated the sample app to compile cleanly in VC 2005
- The code has now been updated to support VC 2005 or later only
- Code now uses newer C++ style casts instead of C style casts
- Code now compiles cleanly using Code Analysis (/analyze)
- Updated the code to clean compile on VC 2008
- Updated documentation to use the same style as the web site