Yo había pensado algo así, porque desconozco si tcpClient tiene algo para detectar la desconexión. Que vaya enviando cada 3 segundos un texto, y el server cada 3 segundos compruebe si le llega esto, si no sumara 1 en una variable estaAqui en un bucle y cuando llegue a 3 que borre el cliente del listView. Me parece que me estoy complicando mucho y tiene que haber un método mas sencillo creo yo, jaja
regex = Regex.Match(data, "Sigo aqui!", RegexOptions.IgnoreCase);
if (regex.Success) //Si se encuentra Sigo aqui!
{
estasAqui = 0;
}
else //Si no se encuentra Sigo aqui!
{
++estasAqui;
if (estasAqui > 3) //Si estasAqui tiene mas de 3 borraremos el cliente del listView
{
listView1.Items.RemoveAt(0);
}
}