2010-08-31 8 views

risposta

2

Il modo più semplice è quello di cercare di connettersi a un noto al di fuori indirizzo IP. Se fallisce in Windows, la funzione connect restituirà SOCKET_ERROR, e WSAGetLastError di solito restituirà WSAEHOSTUNREACH (che significa che il pacchetto non può essere inviato all'host). In Linux, riceverai un -1 e errno sarà ENETUNREACH.

-1

Per i principianti è possibile abbonarsi allo ISensIntf per verificare se si dispone di una connessione di rete valida. (Fammi sapere se hai bisogno di aiuto in questo, è doloroso registrarti per gli eventi, ecc.). Dopo di che, è possibile utilizzare API come IsNetworkAlive, InternetGetConnectedStateEx o il InternetCheckConnection per verificare la connettività a Internet, ecc

Se la vostra utilizzando C# o VB, poi la prima a aggiungere un riferimento a

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. 
      } 

Spero che questo aiuti

+0

Questa domanda voleva il codice C++, -1. – cybermonkey

Problemi correlati