Buongiorno, come da titolo avrei bisogno di una soluzione per il freeze causato dal ping.
Mi spiego meglio, devo controllare la connessione con un dispositivo in rete.
Ora uso questo metodo, ma non funziona correttamente:
All'interno del Timer1:
codice:If t_checkPing.IsAlive = False Then t_checkPing = New Threading.Thread(AddressOf checkPing) t_checkPing.Start("192.168.59.39") End If
E successivamente:
Finchè il dispositivo è collegato, funziona tutto, ma non appena il dispositivo viene spento o comunque la connessione non c'è più, ad ogni ciclo in cui vado ad effettuare la verifica, mi si freeza il programma per un paio di secondi.codice:Dim t_checkPing As New System.Threading.Thread(AddressOf checkPing) Sub checkPing(ipAddress As String) If My.Computer.Network.Ping(ipAddress, 500) = False Then testoMessaggioAvviso = "COMMUNICATION" & vbCrLf & "ERROR" Invoke(Sub() 'Interazione con la GUI End Sub) Else Invoke(Sub() 'Interazione con la GUI End Sub) End If End Sub
Ho trovato nel web qualcosa riguardo il l'AsyncPing, ma non riesco a venirne fuori.
Sto provando ma mi da sempre lo stesso problema.
Qualcuno saprebbe aiutarmi?
Grazie

Rispondi quotando