Buongiorno,
ho realizzato due applicazioni che comunicano tramite tcpListener e tcpClient...
Per alcune necessità le due applicazioni si devono scambiare oggetti.. Questo lo faccio tramite l'IFormatter f = new BinaryFormatter(). con serialize invio e con deserialize ricevo...
Utilizzo i BaseStram, degli oggetti StreamWriter e StreamReader del tcpClient.
Ora nasce un problema... ho notato che nella ricezione di un oggetto, se accade un'eccezione ( che viene gestita dallo try catch), anche tutti i sucessivi oggetti che mi vengono inviati, non andranno a buon fine perchè nella fase di ricezione verrà lanciata un'eccezione...
Dunque ho pensato che in un qualche modo, se il mio try viene interrotto, magari il mio stream rimane "sporco", e per questo motivo genera errori... dunque mi chiedevo come si fa a ripulire il flusso ( sia di scrittura che di lettura) in modo tale che dopo un errore, gli oggetti successivi non ne fossero influenzati...
Sapete risolvere il mio problema? Devo forse utilizzare un Flush? Lo devo utilizzare sia in caso di ricezione avvenuta sia in caso di errore o solo in caso di ricezione avvenuta? a cosa serve precisamente il Flush?
Grazie 1000...