Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C#] Flussi

    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...
    Programmazione .NET
    http://www.samueletosatto.tk

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    dovresti dirci che eccezione è..

    in caso di eccezione cmq potresti chiudere e riaprire la connessione..

    ora penso un attimo a come pulire il flusso..

  3. #3
    Fine del flusso raggiunta prima del termine dell'analisi.
    Ma di più frequente accade che mi venga fuori un'eccezione del tipo "il flusso nn incomincia correttamente" ora nn so ridirti l'errore di preciso perchè non sono io che decido quando farlo saltare fuori
    Programmazione .NET
    http://www.samueletosatto.tk

  4. #4
    Anzi forse questa eccezione "fine del flusso raggiunta prima del tempine dell'analisi" salta fuori per una modifica che ho fatto adesso all'applicazione... perché c'è l'altra applicazione che fa uno Stream.close, perciò dovremo concentrarci sull'altro
    Programmazione .NET
    http://www.samueletosatto.tk

  5. #5
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    per fare una cosa fatta bene dovresti utilizzare il .net remoting e non socket!
    I got the remedy

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.