Hallo, ich stelle in einem Task eine TCP Verbindung her.
Klappt soweit alles gut, nur kann es passieren das die Verbindung abbricht, oder der ganze TCP Server nicht mehr erreichbar ist (PC ist aus ! )
Wie kann ich prüfen ob die Verbindung noch besteht, ob der Server erreichbar ist, und wie baue ich die Verbindung hier im Task wieder auf, wenn der PC wieder erreichbar ist ?
Try
Using client As New TcpClient()
Dim bytes As Byte() = New Byte(255) {}
Dim data As String
Dim i As Integer
client.Connect(IPAddress.Parse(Item.IP), Item.Port)
While True
Using stream As NetworkStream = client.GetStream()
i = stream.Read(bytes, 0, bytes.Length)
While i <> 0
data = Encoding.ASCII.GetString(bytes, 0, i)
_dataCache.AppendNewData(data)
Thread.Sleep(RetrialDelay)
i = stream.Read(bytes, 0, bytes.Length)
End While
End Using
End While
End If
End Using
Catch ex As Exception
End Try
Ich habe ja hier in der Schleife ja nur die Möglichkeit was abzufragen wenn der Server was schickt, oder?
While i <> 0
data = Encoding.ASCII.GetString(bytes, 0, i)
_dataCache.AppendNewData(data)
Thread.Sleep(RetrialDelay)
i = stream.Read(bytes, 0, bytes.Length)
End While