Ping Component and Client

System requirements

  • Windows NT 4.0 [Workstation, Build 1381: Service Pack 4]
  • Windows Sockets 1.1 Network Support [wsock32.dll, ws2_32.dll]
  • Microsoft Visual C++ 6.0, ATL 3.0 [ole32.dll, oleaut32.dll], MFC 4.2 [mfc42.dll]

Install and Configure

Unzip retaining directory structure to any location with approx 40Mb of free space. You'll get a folder ./pingcomp


Ping component

Open workspace ./pingcomp/pingcomp.dsw, select say 'Release MinSize' configuration (faster build), run build. If building a debug configuration, browse info will be available.

Ensure that component is registered properly, as indicated by output window: "Performing registration RegSvr32: DllRegisterServer in .\ReleaseMinSize\Pingcomp.dll succeeded."

If not try it manually: 'regsvr32 .\ReleaseMinSize\Pingcomp.dll'

Ping client

Open workspace ./pingcomp/pingclient/pingclient.dsw, select 'Release' configuration (faster build), run build. If building a debug configuration, browse info will be available.


After a component and client are built, you're ready to run the program, but **you should login as administrator** to get valuable results, because of programs use of raw sockets, which can be opened only with admin privileges - that's an operation system limitation.

Program's Design

Ping component (Pingcomp.dll) encapsulates ping implementation and exhibits corresponding COM interface - IPing.

IPing interface is implemented by CPing class which stores ping parameters, runs and stops worker thread PingSession(), and fires events through IPingEvents interface.

CPingImpl class provides low level ping functionality, i.e. creates socket, form packets, sends, receives and decodes responses.

CProxyIPingEvents class implements IPingEvents interface, it's generated by classwizard.

Ping client (Pingclient.exe) provides user interface and interaction with the component.

CPingDlg class - initializes COM library, creates an instance of Ping component, advises connection for sinking events.

CPingEvents class - a bridge for transmitting events fired by component to dialog.


Download source - 57 Kb


  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Thanks to the Internet of Things (IoT), physical assets are turning into participants in real-time global digital markets. The countless types of assets around us will become as easily indexed, searched and traded as any online commodity. While some industries will be tougher to transform than others – those with physical limitations, such as manufacturing, will be harder to digitize – untold economic opportunities exist for growth and advancement. Our research shows this will create a new "Economy …

  • Moving from an on-premises environment to Office 365 does not remove the need to plan for disruptions or reduce the business risk requirements for protecting email services. If anything, some risks increase with a move to the cloud. Read how to ease the transition every business faces if considering or already migrating to cloud email. This white paper discusses: Setting expectations when migrating to Office 365 Understanding the implications of relying solely on Exchange Online security Necessary archiving …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date