Allora io ho un client che si connette e disconnette automaticamente ad un server se questo è online o offline. In certi casi però utilizzando il metodo Socket.connected per vedere se il client è connesso al server mi ritorna che il client è connesso mentre il realtà il server è spento. Inviando dei dati però poi il socket capisce di non essere connesso e con Socket.connected mi ritorna falso. Come posso fare per verificare se è connesso al server circa ogni 1-2 secondi senza continuare ad inviare dati??

Ecco una parte del codice:

*Per verificare se è connesso
codice:
If Client.Connected = True Then 
ToolStripStatusLabel1.Text = "Connected..." 
ToolStripProgressBar1.Value = 100 
Else 
ToolStripStatusLabel1.Text = "Unconnected..." 
ToolStripProgressBar1.Value = 0 
TreeView1.Nodes.Clear() 
If ConnectTCPWork.IsBusy = False Then 
ConnectTCPWork.RunWorkerAsync() 
End If 
End If
*Per ricevere i dati
codice:
If Client.Available > 0 Then
 Dim t(Client.Available - 1) As Byte 
Data.Read(t, 0, t.Length) 
Dim testo As String = Encoding.UTF7.GetString(t) 
MSGControll(testo) 
End If