Ciao a tutti,
sto impazzendo cercandoil modo per verificare se un tcpclient è relamente connesso... posto il codice client side :
private void ClientThread()
{
Process app = null, app_precedente = null;
comando_rx = clienttcp.GetStream();
byte[] buffer = new byte[1024];
while (clienttcp.Connected == true)
{
if (clienttcp.Connected == true)
{
if ((clienttcp.Client.Poll(2, SelectMode.SelectRead) == true) )&&
(clienttcp.Client.Poll(2, SelectMode.SelectWrite) == true) &&
(clienttcp.Client.Poll(2, SelectMode.SelectError) == false))
{
int l_dati_rx = comando_rx.Read(buffer, 0, buffer.Length);
string string_buffer = Encoding.ASCII.GetString(buffer, 0, l_dati_rx);
switch (string_buffer)
{
case "HOME":
........
.....
....
Se forzo la chiusa della connessione staccando il cavo di rete comunque la proprietà connected ritorna true, ho visto un pò in giro le discussioni sul fatto che connected non ritorna lo stato relae del socket, ora ho provato questo
if ((clienttcp.Client.Poll(2, SelectMode.SelectRead) == true) )&&
(clienttcp.Client.Poll(2, SelectMode.SelectWrite) == true) &&
(clienttcp.Client.Poll(2, SelectMode.SelectError) == false))
ma nulla da fare
qualcuno mi può aiutare?