• 0
com.jkelany

كيفية الاستماع لحالة الانترنت بالجهاز

سؤال

السلام عليكم ورحمه الله وبركاته
كنت أريد ان اعرف كيف اذا كنت اعمل على برنامج يعمل على الانترنت
واريد فى حاله انقطاع الانترنت ان اقوم بالاستماع له
واظهر رساله للمستخدم تفيد ان الاتصال قطع ولا يمكنه استخدام البرنامج

هذا الموضوع كان هيكون سوال لى على المنتدى ولكن فى اللحظات الاخيره
بعد بحث طويل من فتره شهر لكنى تناسيت الموضوع بسبب الامتحانات
قولت اغير كلمات التى ابحث بها فى هذا الموضووع وتوصلت للحل والحمدلله
 

private boolean isInternetConnection() throws SocketException {    	Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();    	while (interfaces.hasMoreElements()) {        	NetworkInterface interf = interfaces.nextElement();        	if (interf.isUp() && !interf.isLoopback()) {            	return true;        	}    	}    	return false;	}


يمكن يفيد احد فى احد برامجه
وهو انك تقوم بالبحث عن جميع الـ NetworkInterface الموجوده لديك سواء Wireless , Cable , Modem وتقوم بفحص عمليه الـ loopback , isUp

إذا كان هذا ال Interface ليس ال loopback interface (و هو interface وهمى موجود في كل نظام تشغيل و عادة ما يكون عنوانه 127.0.0.1)

وايضا يكون isUp يعنى موجود وشغال فان لديك Internet Connection وبالتالى تقوم بفحص وجود انترنت ام لا

بالتوفيق ان شاء الله

تم تعديل بواسطه mhewedy
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

17 إجابة على هذا السؤال .

  • 0

مقالة جميلة يا عم محمود

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تسلم يا محمود على المعلومه

معلومه قيمه جدا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عفوا هل لي ببعض الاسئله ..

لم أقراء الكود لكن اريد ان اسألك اذا سمحت ..

البرنامج يعمل مع اتصال بالنت هل تقصد البرنامج يتوقف كلياً عن العمل؟ ..

او يعطى رساله تفيد باان الاتصال قُطع..هذا على افتراض انها برنامج سطح مكتب ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا أخ علاء

شكرا أخ محمد

اخى الكريم kiubo

هذا الكود يفيد ان تعرف حاله الاتصال باالانترنت فى الوقت الحالى

يعنى عندماا تريد ان تفعل شىء فالبرنامج لديك على الانترنت هذه الداله تعود لك بـ

true فحالة وجود اتصال بالانترنت

انما فى حاله ان الجهاز ليس لدية اتصال بالانترنت تعود لك بـ false

وبناء عليه تقوم انت بعدم استكمال المهمه لعدم وجود اتصال بالانترنت وتظهر رساله تفيد ان الانترنت مقطوع يرجى ان يتفحص الاتصال بالانترنت اولا

تم تعديل بواسطه Mahmoud Kelany
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جربت اضافة الـ Main لكني لم أنجح بتطبيق الكود ، يا ليث حدا يساعدني في تطبيق هاي التجربة الحلوة من فضلكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

@المشاكـس5550: أنشئ ملف إسمه MainApp.java وضع به :

import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;

class MainApp {
private static boolean isInternetConnection() throws SocketException {
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while ( interfaces.hasMoreElements() ) {
NetworkInterface interf = interfaces.nextElement();
if (interf.isUp() && !interf.isLoopback()) {
return true;
}
}
return false;
}

public static void main(String argv[]) throws InterruptedException {
while (true) {
Thread.sleep(500);
try {
if( isInternetConnection() )
System.out.println("Connection is up");
else
System.out.println("Connection is down");
} catch (SocketException e) {
System.err.print(e);
System.exit(-1);
}
}
}
}

@ Mahmoud Kelany: هذا البرنامج لايتأكد من الإتصال بالإنرنت بل لايُؤكد لك سوى أنك متصل بشبكة ما أما لا, وليس دائماً ماتكون تلك الشبكة موصلة بالإنترنت. مثلاً لدي حاسوب آخر خادم متصل بالإنرنت وأقوم بربط حاسوبي معه ,لما فصلت الإنرنت عن الحاسوب الثاني إستمر البرنامج بإخباري أنني متصل.

تم تعديل بواسطه Mr.B
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

@Mr.B حياك اخوي ومشكور على المساعدة يا الغالي ... للأسف عم بيعمل Connection is Up داااائما ، جربت عمل Connection OFF ونفس الشي

نتمنى تعديل الكود وان شاء الله لو بقدر حكون الاول

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

@Mr.B حياك اخوي ومشكور على المساعدة يا الغالي ... للأسف عم بيعمل Connection is Up داااائما ، جربت عمل Connection OFF ونفس الشي

نتمنى تعديل الكود وان شاء الله لو بقدر حكون الاول

تحياتي

ما في اى مشكله فالكود

انا اعمل عليه حاليا فى التطبيق الخاص بى وهو يعمل بشكل صحيح

فقط عندما تستدعى الداله ترجع لك true يعنى ان هناك اتصال بالانترنت

لكن ان كانت false يعنى انه ليس هناك اتصال بالانترنت

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ما في اى مشكله فالكود

انا اعمل عليه حاليا فى التطبيق الخاص بى وهو يعمل بشكل صحيح

فقط عندما تستدعى الداله ترجع لك true يعنى ان هناك اتصال بالانترنت

لكن ان كانت false يعنى انه ليس هناك اتصال بالانترنت

مشكور اخوي ... لكن للأسف هذا اللي عم بيوقع معي ... مابعرف مشكلتي اين ؟ عملت له Run وعملت Disable لاتصال الانترنيت من عند Network Connections وبردو بقيت نفس الرسالة Connection is Up

ما بزعجك اكثر ، راح احاول ابحث عن هذا الامر

لكن قبل هذا بدي اسألك ، هل ترى من المعقول ان نعمل سلسلة من الـ Ping الى بعض المواقع 'الغير المحجوبة طبعا' ويكون Google على رأسها ... وعلى هذا الاساس نخرج بنتيجة ما اذا كان هناك انترنيت ام لا :lol: :lol:

على فكرة ، هذا هو حال أغلب المواقع والمنتديات الاجنبية فيما يتعلق بهذا الموضوع :haha: :wacko:

بارك الله فيك :happy:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكور اخوي ... لكن للأسف هذا اللي عم بيوقع معي ... مابعرف مشكلتي اين ؟ عملت له Run وعملت Disable لاتصال الانترنيت من عند Network Connections وبردو بقيت نفس الرسالة Connection is Up

بصراحه شككتنى فى نفسى

هذا مشروع صغير يوضح لك ذلك

CheckInternetConnection.zip

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

إذن يلزمك تشغيلها داخل Thread يعمل كل فتره زمنيه قصيره و ثابته 

كما أنها لا تقوم بفحص الإنترنت بل الشبكه كما قال الأخ "المشاكس"

 

هل برنامجك يتصل بخادم أو موقع خارجى؟ إذا كان الأمر كذلك ... فيمكنك تنبية المستخدم إذا حدث conn-timeout مثلا ....

أعتقد أن هذا هو المتبع في برامج الهواتف الذكيه .... و أنت تستطيع أن تخبرنا المتبع في هذا المجال كونك تعمل حاليا مبرمج Android كما يبدو من توقيعك ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شغال معايا كويس شكرااا البرنامج شغال في حالة عملت disable connection او الما اشيل الكابل بيعمل connection is down
بس هو ممكن تعمل رح بسيط عن طريق comments في البرنامج علشان نفهم وظيفة كل حاجة موجودة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هل من الممكن وضع كود كامل وشغال من اجل التجربة عند الاعضاء الذين حصل عندهم مشكل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك أخي Mahmoud Kelany

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك اخي الفاضل والميثود المذكورة  تقوم بفحص الاتصال بالشبكة بغض النضر عن نوعه داخلي او خارجي اي جهازك متصل بشبكة ما  وان كان متصل ترجع لك true والعكس صحيح  بوكل بساطة ان اردت ان تتاكد من الاتصال بالانترنت  بشكل فعال

يلزمك عمل ميثود اخرى للتحقق من الاتصال الخارجي

وهذا مثال بسيط قمت بعمله

import java.net.*; import java.util.*; class check { public static void main(String[] args) { boolean isconnect; try { URL url = new URL("http://www.google.com/"); URLConnection con = url.openConnection(); con.connect(); isconnect = true; System.out.println("you have connection with internet ^_^"); } catch (Exception e) { isconnect = false; System.out.println("you dont have connection with internet !_!"); }}} 

طبعا يمكن تطويرها بشكل افضل لتحقق من عدة مواقع مثلا في حالة كان الموقع المذكور لا يعمل او به مشاكل

ويمكن عمل لستة مثلا تحقق من 5 مواقع مشهورة ومعروفة طبعا

واذا كانت احد هذه المواقع تعمل اي يوجد اتصال لديك ولا موقع يعمل انت غير متصل على الانترنت

تحياتي للجميع 

تم تعديل بواسطه شيخ المجالس
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .