I have an interesting situation on my hands, and I'm not quite sure how to go about troubleshooting it. I did a few searches for something similar to my situation, but nothing quite matches it. If the answer already exists somewhere here, I would appreciate anyone that could point me in the right direction.
Ok, to the point.
I'm writing a watchdog application for monitoring internet connectivity. Its designed to ping a set of domains at a set interval, and when any of them respond to the ping, the status timer is reset. If the status timer ever goes beyond a set threshold, several stages of corrective action are attempted to fix the problem.
Simple enough right?
Here's where it gets weird.
I'm using ICMPsendecho to issue the ping request. On my development environment (win7) it seems to work fine, testing and everything went smoothly. However, in the environment where its being deployed it fails to receive a response. The deployment environment is a windows XP sp3 machine.
Throughout the trouble shooting process I've noted several things, which may or may not be helpful in actually trying to solve this problem.
windows ping.exe works just fine on the deployment environment for all of the domains i'm using to test connectivity status, its only my ICMPsendecho calls that seem to fail to generate responses.
I've installed wireshark on deployment environment and I can see packets being issue successfully for the requests on both types of ping. the windows ping generates request packets with a length of 74 bytes, and my programs call generates packets with a length of 42 bytes. Windows response packets are similarly 74 bytes when they are received.
Switching to the development environment for a minute, with wireshark installed. Windows ping generates a similiar circumstance as in the deployment environment with the packets. However, my application, when it generates requests the packe