Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

It's simple to ping a server in C#, but suppose I have servers A, B and C.

A connects to B.

A asks B to ping C, to check that B can talk to C.

A needs to read the outcome.

Now, first of all is this possible without installing an application onto B? In other words, can I perform the entire check from just running a program on A?

If so, can anyone suggest the route I would take to achieve this? I've looked at sockets but from the examples I've seen these require a client AND server application to function.

share|improve this question
Probably this nice web service is what you need? – Marcel Oct 18 '13 at 9:58
Thanks but this will actually be used to check communication between remote servers, not whether a specific server is down. – user666254 Oct 18 '13 at 10:12
Unless you can simply tunnel a connection through B (not sure how practical that is in Windows), I can't see how you'd do this without having at least some sort of software running on B to act as the middle man. – TZHX Oct 18 '13 at 10:18
I understand, thank you for your input. – user666254 Oct 18 '13 at 10:46

First of all, this sounds like something that you shouldn't be trying to do.

For example, if you have some application on A that calls B which in turn calls C, then it shouldn't be the responsibility of A to figure out why isn't B working. Simply call B and if it doesn't work, then it doesn't work.

Now, if you really want to do this, you would need some service on B that forwards the request to C (or something like that). If you don't want to install anything on B, then the only way is to (ab)use some service that's already installed on it. But I can't think of any common service that would allow you to do this.

share|improve this answer
Just to clarify, A would actually be a monitoring service which checks a whole host of servers are able to communicate with each other. So A is only interested in whether B can talk to C, and alert if it can't. But as you say I now think this isn't easily possible without some abusive method, so thank you for your advice. – user666254 Oct 18 '13 at 11:18

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.