آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

نحوه گرفتن Ping از یک آدرس

learnpro  11 سال پیش  11 سال پیش
+1 0

سلام دوستان

من قصد دارم ping چند تا سایت و ip رو بگیرم چطوریه؟

میخام اینطوری کار کنه که مثلا اگه ping  8.8.8.8 برقرار بود بگه ok یا مثلا اگه yahoo.com پینگ داد یه toast باز بشه.

مرسی

+2 0
لینک - لینک - > android ping an ip address (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Criss  11 سال پیش
0 0

من کلی سرچ کردم < بعضی کدهایی هم پیدا کردم که جواب میداد <

اما این رو ترجیح میدم <

تست کنید < تا زمانی که اینترنت وصل هست < ping میشه و زمانی که قطع میکنید < با کمی تاخیر < کلی Faild لاگ میده و بعد دوباره توقف و دوباره کلی Faild ، حالا اگر اینترنت رو وصل کنید < با کمی تاخیر Ping شروع میشه < البته بعضی موقع با قطع شدن اینترنت لاگ مربوط به Faild داده نمیشه (شاید تاخیر زیادی داشته باشه) ولی در شرایطی که اینترنت قطع هست اصلا لاگ ping رو نمیبینید

پس بهتره  سعی کنید در قسمت catch کد هاتون رو قرار ندید < چون بعضی موقع تاخیر از 10 ثانیه هم بیشتر میشه

از همون قسمت Try استفاده کنید < و کدهایی که باید اجرا بشوند رو در اینجا قرار بدید < یا یک مقدار رو True کنید <

جالبه که خود پینگ شدن کمی تاخیر داره < و با آهنگی خاص Log هارو میبینید <

   Thread thread = new Thread(new Runnable() {

@Override
public void run() {
while (true) {
try {
URL url = new URL("http://www.google.com");

HttpURLConnection urlConnect = (HttpURLConnection) url.openConnection();
urlConnect.getContent();
Log.i("LOG", "ping " + url);
}
catch (Exception e) {
Log.i("LOG", "Connect Faild");
}
}
}
});
thread.start();

حالا به نظر شما استفاده از این کد در یک Thread و قرار دادن در برنامه معقول هست ؟

این Thread برای همیشه تکرار میشه <

 

+1 0
طولانی شدن بین زمان قطع و وصل پینگ طبیعی هست، از نظر شبکه های ارتباطی چند تا پکت اول ممکنه به دلیل پروتکل ARP از دست برسه و برای همین چند ثانیه تاخیر داره :) (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .