Oppure

Loading
09/03/08 12:38
Ciao Paperoga... Il codice che mi hai dato mi manda come dati solo "MZ"


Come mai?

09/03/08 13:14
P4p3r0g4
..forse perchè il file che stai mandando (quello aperto in filepath) contiene solo quelle due lettere?
aaa
09/03/08 14:11
gantonio
Postato originariamente da P4p3r0g4:io lavoro un string e non in byte.


E fai male ... le stringhe in VB sono tra gli elementi piu' "lenti" che ci siano ... molto meglio lavorare con un vettore di byte ...

In ogni caso, il tuo programma presenta degli inconvenienti (prendile come critiche costruttive ...) ...

1) Lavora con un buffer di dimensioni fisse (e' bene variare le dimensioni del buffer in relazione alla grandezza del file ...)

2) L'ultimo blocco letto dal file, non e' detto che sia di 4000 byte e quindi ne trasmetti sicuramente piu' di quelli che servono, con l'effetto che chi riceve ne ricevera' in piu' e i file non saranno uguali ...
aaa
09/03/08 14:13
gantonio
Postato originariamente da .:ViRuS:.:
Ciao Paperoga... Il codice che mi hai dato mi manda come dati solo "MZ"


Se ti ostini ad usare le textbox non ci capirai mai molto ...

I file eseguibili non sono dei file di testo.

Contengono dei caratteri ASCII non visibili e quindi non li vedrai mai in un textbox ...
aaa
09/03/08 14:40
P4p3r0g4
Postato originariamente da gantonio:
E fai male ... le stringhe in VB sono tra gli elementi piu' "lenti" che ci siano ... molto meglio lavorare con un vettore di byte ...

In ogni caso, il tuo programma presenta degli inconvenienti (prendile come critiche costruttive ...) ...

1) Lavora con un buffer di dimensioni fisse (e' bene variare le dimensioni del buffer in relazione alla grandezza del file ...)

2) L'ultimo blocco letto dal file, non e' detto che sia di 4000 byte e quindi ne trasmetti sicuramente piu' di quelli che servono, con l'effetto che chi riceve ne ricevera' in piu' e i file non saranno uguali ...


sicuramente vero.
ma sono abituato alle stringhe e finchè non ho bisogno di un invio massiccio di dati mi scoccierebbe mettere tutto in vettori sono meno leggibili e più complicati nel debug.
ho già lavorato in byte si intende ma sono rimasto fedele alle stringe per pigrizia...

per le critiche costruttive.
1) vero. il codice che ho postato è vecchio. ma era il più semplice da analizzare per virus.
per le versioni più complesse come la versione 4 dell'esr utilizzo un procedimento che calcola il massimo di caratteri inviabili (che rimane costante anche se può variare tra connessioni),in modo da massimizzare l'invio del socket e da evitare l'invio di pacchetti di lunghezza piccola.
2) anche qui è vero. non l'avevo neanche notato tnx.

Ps: dici che è meglio l'invio della lunghezza del file alla partenza oppure l'invio "con risposta" per evitare perdite di dati?
Io sto sviluppando i miei sorgenti verso la risposta ma ho paura che l'invio possa diventare troppo lento..


PPS: errore madornale nel mio codice. va messo string a chr(0) e non space.

@virus:
per controllare l'invio di dati invece di usare le textbox usa uno sniffer di rete. ti consiglio wireshark che a me in Xp ha sempre funzionato.
Edit: oppure converti gli asc() in esadecimale ma comunque non saprai nulla sui pacchetti persi e non potrai lavorare su file grandi.
Ultima modifica effettuata da P4p3r0g4 09/03/08 14:47
aaa
09/03/08 14:50
gantonio
Per quanto riguarda i byte o le stringhe ... beh, prima che puoi, lascia stare le stringhe e vinci la pigrizia ... un vettore di byte e' semplicissimo da usarsi (anche per il debug ...) ed e' molto molto piu' veloce delle stringhe ...

Per la scelta del metodo ... ti consiglio di costruire un "dialogo" in cui ci sia all'inizio l'invio della lunghezza del file, e durante l'invio, un controllo delle porzioni di file inviati tramite una risposta di conferma ...

Per quanto riguarda spazi o chr(0), non fa differenza ...
aaa
09/03/08 21:42
P4p3r0g4
beh lo spazio scritto in un file prchè eccede i 4000 caratteri è diverso da un chr(0) che eccede..
aaa
09/03/08 21:44
gantonio
Non ho capito ...
aaa