65.9K
CodeProject is changing. Read more.
Home

How to PING Server in C#

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.89/5 (12 votes)

Sep 13, 2010

CPOL
viewsIcon

203056

It is always better to ping a server before actually calling the server from your client application. The Ping service will try to post a dummy request to the server which is used to be very small and tries to get the Response from the server. Generally if the server response is available, the server sends the response immediately. Hence you can save a considerable amount of time building the Request body. You also never need to wait for so long time for Timeouts. To Ping a Server, you can use:
public static bool IsConnectedToInternet
{
    get
    {
        Uri url = new Uri("www.abhisheksur.com");
        string pingurl = string.Format("{0}", url.Host);
        string host = pingurl;
        bool result = false;
        Ping p = new Ping();
        try
        {
            PingReply reply = p.Send(host, 3000);
            if (reply.Status == IPStatus.Success)
                return true;
        }
        catch { }
        return result;
    }
}
The PING sends an ICMP (Internet Control Message Protocol) echo request to the server and waits to receive the echo back. If the value of Status is success, the PingReply is successful.