2010-08-31 11 views
6

का उपयोग कर अगर मैं एक इंटरनेट कनेक्शन या लाइव इंटरनेट कनेक्शन सी का उपयोग कर मैं इसकी जांच कैसे कर सकते हैं कैसे की जाँच करने के ++?अगर आप लाइव इंटरनेट कनेक्शन प्रोग्राम के रूप में सी ++

+2

तुम सच में एक "इंटरनेट" कनेक्शन की जरूरत है? सर्वर एक्स, वाई और जेड से कनेक्ट होने के विरोध में आपको संवाद करने की आवश्यकता है? –

उत्तर

4

सी ++ इसके लिए कोई अंतर्निहित कार्य करता है, तो आप प्रणाली एपीआई का सहारा की जरूरत होगी। सॉकेट बनाने का एक सबसे आसान और स्पष्ट तरीका है और इसे किसी ज्ञात आईपी से कनेक्ट करने का प्रयास करें या जांचें कि क्या DNS काम कर रहा है या नहीं।

कुछ उपयोगी लिंक्स:
http://msdn.microsoft.com/en-us/library/ms740673(VS.85).aspx (विंडोज सॉकेट)
http://www.tenouk.com/cnlinuxsockettutorials.html (लिनक्स/यूनिक्स सॉकेट)

+0

मैं विंडोज सिस्टम एपीआई की जांच करूंगा। धन्यवाद। – Vibz

2

सबसे आसान तरीका है एक ज्ञात आईपी बाहर का पता करने के लिए कनेक्ट करने का प्रयास करने के लिए है। यदि यह विंडोज़ में विफल रहता है, तो कनेक्ट फ़ंक्शन SOCKET_ERROR लौटाएगा, और WSAGetLastError आमतौर पर WSAEHOSTUNREACH (जिसका अर्थ है कि पैकेट होस्ट को नहीं भेजा जा सका)। लिनक्स में, आप एक -1 वापस प्राप्त करेंगे, और इरनो ENETUNREACH होगा।

-1

शुरुआत आप अगर आप एक वैध नेटवर्क कनेक्शन की जाँच करने के ISensIntf की सदस्यता ले सकते हैं। (अगर आपको इसमें मदद की ज़रूरत है तो मुझे बताएं। घटनाओं के लिए पंजीकरण करना दर्दनाक है आदि)। उसके बाद, आप इंटरनेट से संपर्क की जाँच करने के लिए आदि

IsNetworkAlive, InternetGetConnectedStateEx या InternetCheckConnection तरह एपीआई का उपयोग कर सकते हैं अपने का उपयोग कर C# या VB, तो पहले एक संदर्भ के लिए

Microsoft.VisualBasic.Code. 
Microsoft.VisualBasic.Devices.Network network = new Microsoft.VisualBasic.Devices.Network(); 
       network.NetworkAvailabilityChanged += new Microsoft.VisualBasic.Devices.NetworkAvailableEventHandler(network_NetworkAvailabilityChanged); 

... 

private static void network_NetworkAvailabilityChanged(object sender, Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs e) 
     { 
      if (e.IsNetworkAvailable) 
      { 
       //network is connected.. do something.. 
      } 
      else 
      { 
       //network isnt connected.. do something else. 
      } 

आशा जोड़े इस मदद करता है

+0

यह प्रश्न सी ++ कोड चाहता था, -1। – cybermonkey

संबंधित मुद्दे