الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحديد اذا كان الجهاز متصل بالانترنت

بدأه كارم سامي في 19 مارس 2014 · 2 رد · 275 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ,,

 

 

كيف اكتب كود لمعرفة اذا كان الجهاز متصل بالانترنت ام لا .. واخر اذا اكان الرابط المستخدم موجود(صحيح) ام غير صحيح ؟؟؟

 

فاذا كان الانترنت غير متصل او ان الرابط غير موجود او غير صحيح يظهر في web browser صورة او تيكست تعبر عن ذلك

#2

هناك العديد من الطرق لعمل ذلك :

منها هناك حدث يتم إطلاقه عندما يتم تغير حالة الشبة من ال UP يسمى هذا الحدث "Network Availability Changed"

يمكنك عن طريق ذلك قراءة حالة الإتصال بالشبكة هل هو UP ام Down ام مااذا ؟؟

bool CurrNStat = false;
NetworkInterface[] mynic = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface ncc in mynic)
{
if((ncc.NetworkInterfaceType != NetworkInterfaceType.Loopback) && (ncc.OperationalStatus == OperationalStatus.Up))
 {
    CurrNStat = true;
 }
}
NetworkChange.NetworkAvailabilityChanged += new NetworkAvailabilityChangedEventHandler(NetworkChange_NetworkAvailabilityChanged);
void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
{
networkIsAvailable = e.IsAvailable;
MessageBox.Show("Network availability: " + networkIsAvailable);

 }

ولكن هذه الطريقة غير عملية ابداً وافضّل ان تقوم بعمل ping ل Google ولو استجاب فهذا يعني ان النت يعمل تمام

System.Net.WebClient
public static bool CheckForInternetConnection()
{
    try
    {
        using (var client = new WebClient())
        using (var stream = client.OpenRead("http://www.google.com"))
        {
            return true;
        }
    }
    catch
    {
        return false;
    }
}

اعتقد ان هذه الطريق افضل حتى من طريقة ال ping التقليدية  :D

 

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

1

{ وَيَوْمَ تَقُومُ السَّاعَةُ يُقْسِمُ الْمُجْرِمُونَ مَا لَبِثُوا غَيْرَ سَاعَةٍ ۚ كَذَٰلِكَ كَانُوا يُؤْفَكُونَ () وَقَالَ الَّذِينَ أُوتُوا الْعِلْمَ وَالْإِيمَانَ لَقَدْ لَبِثْتُمْ فِي كِتَابِ اللَّهِ إِلَىٰ يَوْمِ الْبَعْثِ ۖ فَهَٰذَا يَوْمُ الْبَعْثِ وَلَٰكِنَّكُمْ كُنْتُمْ لَا تَعْلَمُونَ } الروم 55-56

#3

فعلاً هي تعمل معي وهناك طريقة اخري ايضاً وجدها

using System.Runtime;using System.Runtime.InteropServices;
 [DllImport("wininet.dll")]
        private extern static bool InternetGetConnectedState(out int Description,int Reservedvalue);
 int Desc;
            string JSS_INTERNET_STATUE = (InternetGetConnectedState(out Desc,0).ToString());
          
            if ( JSS_INTERNET_STATUE == "True")
            {

            
               
            }
           else
            {
              


            }

ولكن اذا اردت اعرف اذا كان  الرابط غير موجود او غير صحيح ماذ افعل ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

 

كمثال هذا الرابط غير موجود

/notfound.html

 

وهذا الرابط موجود

 

http://alharbi.site88.net/contact/

 

 

اريد ان افرق بينهم

تم تعديل هذه المشاركة بواسطة كارم سامي في 20 مارس 2014 في 12:50

مواضيع مشابهة