دوست گرامی ،
Ping روش مناسبی نیست برای این کار نیست ، پس به همین خاطره که شما با overload پردازنده و یا کندی نرم افزارتون مواجه هستید ، روشی که Ping هاست مقابل رو چک میکنه دارای TimeOut هستش و تا زمان فرارسیدن TimeOut و دریافت پاسخ از هاست مقابل ترد شما یه حالت نیمه هنگ پیدا میکنه و شما احساس میکنین نرم افزار کنده !!
تقریبا متوجه معماری شما شدم و پیشنهاد بنده اینه که حتما برین سراغ Socket Programing ، شما نمیتونین تمام شبکه رو مانیتور کنین و یا با SQL هاست ها رو چک کنین ، نه اینکه غیر ممکن باشه ، خیر ، بهینه نیست.
پیشنهاد میکنم شما با یک معماری Socket programming مناسب از وضعیت کلاینت ها ، سرور ها و دستگاه های دیگه باخبر بشین و این هیچ باری روی نرم افزار شما نداره Wininet خودش مدیریت میکنه ، خلاصه کنم دقیقا عین Yahoo Messenger و یا تلگرام که وقتی یک کاربر آنلاین و یا آفلاین میشه وضعیت اونو به کل شبکه Broadcast میکنه و شما در کلاینت مثلا تلگرامتون میبینین که طرف آفلاین یا آنلاین شد بدون اینکه هیچ منبع خاصی از سیستم شما درگیر این موضوع باشه ، اینو به دوش سرور بندازین نه هر کلاینت واسه خودش همه کار کنه.