2010-03-19 20 views
6

Ho un'applicazione che esegue uno strumento che richiede una connessione di rete. Ora il mio obiettivo è quello di verificare se l'utente ha una connessione di rete, se non ne ha uno, posso subito visualizzare un errore senza procedere ulteriormente. Se lo ha, può continuare a lavorare con la mia applicazione. Quindi la mia necessità di base è di verificare se l'utente ha una connessione di rete o meno. Come posso ottenere attraverso Qt 4.4? Sto usando Windows XP.Verifica della connessione di rete tramite Qt 4.4

risposta

10

questo codice ti aiuterà.

+1

Come ho scritto nella mia risposta: QNetworkInterface dirà solo che la connessione a qualche rete è attiva. Potrebbe essere LAN senza accesso a internet, wlan ad-hoc che collega il tuo laptop con il tuo cellulare, la rete di macchine virtuali, ecc. Non penso che siano le informazioni che l'OP sta cercando. – chalup

+0

sì ... e questo è abbastanza .. ha fatto il trucco ... – liaK

+1

grazie per il vostro codice. ma se qualcuno ha una macchina virtuale installata nel suo computer (come me) questo codice fallirà. cercherò di aggiustarlo se avrò tempo. –

1

Suppongo che per "connessione di rete" intenda "connessione Internet", cioè non ti interessa LAN o alcune reti ad-hoc tra il desktop e il cellulare.

Il modo più semplice è semplicemente connettersi al servizio Internet di cui l'applicazione ha bisogno e lasciare che il SO gestisca la richiesta di rete. Se ottieni la risposta, c'è una connessione, se la richiesta scade, non c'è connessione.

È possibile controllare lo stato dell'interfaccia di rete tramite QNetworkInterface :: flags(), ma questo non fornisce le informazioni sulla rete a cui è collegata l'interfaccia: l'interfaccia potrebbe essere attiva, ma connessa solo alla LAN senza Internet accesso.

1

Con Qt 4.7, è possibile utilizzare QNetworkConfiguration per controllare le connessioni e persino avviarle ad es. su Symbian.

Problemi correlati