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