Buongiorno, devo pingare due dispositivi per controllarne la connessione.
Questo è il mio ciclo, il quale è messo all'interno di un Timer che esegue un Tick ogni 1000ms.
Il Timeout per il ping è impostato a 500ms
Il problema è che spesso, una volta ogni 10 minuti almeno, mi segnala connessione caduta, quando in realtà è presente.codice:Private Async Sub doPing(ipHost As String, timeout As Integer, Optional tentativi As Integer = 1) Dim totalPingsToTry As Integer = tentativi Dim successCount As Integer Using myPinger As New Ping For counter As Integer = 1 To totalPingsToTry Try Dim myReply As PingReply = Await myPinger.SendPingAsync(ipHost, timeout) If myReply.Status = IPStatus.Success Then successCount += 1 End If Catch ex As Exception 'Ping Failed End Try Next End Using If successCount / totalPingsToTry >= 0.7 Then If disconnesso = True Then riconnetti() disconnesso = False End If Else disconnesso = True registraEvento("DISPOSITIVO NON CONNESSO", 0) End If End Sub
Ho provato anche a controllare continuamente con ping -t con il prompt ed effettivamente col prompt non salta un colpo, mentre con VB.NET salta spesso.
Avete idee su come poter risolvere?

Rispondi quotando