Dato che alla prima ricezione del primo blocco quasi sicuramente i dati inviati NON conterranno End, il Do...Loop risulta un ciclo infinito, e quindi si blocca.
E' per altro assurdo mettere un ciclo (in più senza condizioni di entrata/uscita) all'interno di un timer. O usi il timer O usi il ciclo, ma non entrambi. Inutile dire che è più sensato il timer.
Forse l'avrai letto dalla mia guida, ma la funzione Read legge solo i bytes fino alla fine del file se la dimensione specificata è maggiore del numero di dati da leggere. Quindi puoi omettere l'If e lasciare solo:
reader.Read(bytes, 0, 4096)
Restituisce come valore il numero di bytes letti.
|