title: Limit time for ping in C#
body: <p>I need to ping ~20 computers in local network in short period of time. But if i use <code>Ping</code> class for non-existant host (computer is turned off) i have to wait ~2.5 seconds despite of 50 milliseconds timeout. How can i wait for PingReply only for 50 milliseconds and if no reply - simply check next host? </p>
  
  <p>Here is code example:</p>
  
  <pre><code>foreach (var singleUser in userList)
  {
      try
      {
          Ping userPing = new Ping();                    
          PingReply reply = userPing.Send(singleUser, 50);
          if (reply.Status == IPStatus.Success)
          {
              userInfo.Add(singleUser, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
          }
      }
      catch (Exception exc)
      {
          //host not exists
      }
  }
  </code></pre>