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 ping.zip retaining directory structure to any location with approx 40Mb of free space. You'll get a folder ./pingcomp

Build

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.

Run

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.

Downloads

Download source - 57 Kb


Comments

  • 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

  • With JRebel, developers get to see their code changes immediately, fine-tune their code with incremental changes, debug, explore and deploy their code with ease (both locally and remotely), and ultimately spend more time coding instead of waiting for the dreaded application redeploy to finish. Every time a developer tests a code change it takes minutes to build and deploy the application. JRebel keeps the app server running at all times, so testing is instantaneous and interactive.

  • When it comes to desktops – physical or virtual – it's all about the applications. Cloud-hosted virtual desktops are growing fast because you get local data center-class security and 24x7 access with the complete personalization and flexibility of your own desktop. Organizations make five common mistakes when it comes to planning and implementing their application management strategy. This eBook tells you what they are and how to avoid them, and offers real-life case studies on customers who didn't …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds