9

Sto implementando in C# un protocollo di rilevamento (DNS-SD). Ho un piccolo problema: quando il mio programma è in esecuzione, devo rilevare quando viene stabilita una nuova connessione (cavo di rete collegato o wifi connesso), per annunciarmi anche su quella rete.Essere informati quando un cavo di rete è collegato/Wifi connesso

Ma come rilevare questo? Ho visto del codice per ottenere lo stato corrente di una scheda di rete, ma nessun evento, e voglio evitare di fare un po 'di polling sugli stati delle schede di rete.

+1

Verificare questo: http://stackoverflow.com/questions/1387650/how-to-get-an-event-whenever-the-network-cable-is-connected-or- disconnected –

risposta

4

È possibile utilizzare il metodo GetIstNetworkAvailable per verificare se esiste una connessione di rete. Ogni volta che viene modificato, viene generato l'evento NetworkAvailabilityChanged. Per ulteriori informazioni, vedere this question.

Se si desidera monitorare la disponibilità di diversi NetworkInterfaceshere è un esempio su come fare questo.

+0

Forse ho frainteso ma Credo che l'OP abbia bisogno di più informazioni di questo - ad esempio Connetti LAN (evento sollevato), Connetti Wifi (silenzioso?) Disconnetti LAN (silenzioso?), Disconnetti WiFi (evento). – Basic

+1

L'evento NetworkAvailabilityChanged deve essere generato ogniqualvolta cambia una delle disponibilità di interfaccia di rete disponibile. È quindi possibile verificare quali interfacce di rete sono disponibili. Ho aggiornato la risposta;) – Carsten

+1

Ciao, penso che con il tuo ultimo esempio, potrei fare quello che mi serve – J4N