Oppure

Loading
17/07/09 19:59
dedalux
Eh scusa ho editato il post perche praticamente avevo riscritto il tuo esempio, (gli avevo ddato un'interpretazione sbaglaita), cmq dato che sappiamo tutti che sono un principiante in quest'ambito, potresti farmi un esempio piccino piccino di come specificare la quantita di bytes? :rotfl:
Ultima modifica effettuata da dedalux 17/07/09 20:00
aaa
17/07/09 20:03
riseofapocalypse
Traggo spunto dall'esempio di prima e aggiungo una cosa:
Il Client invia "file"
Il Server invia "OK"
Il Client invia il nome del file
Il Server invia "OK"
Il Client invia il numero dei Bytes del file
Il Server invia "OK" e predispone un Array di lunghezza opportuna
Il Client invia i Bytes del file
Il Server invia "OK" e salva il file

Credo sia a posto :k:
aaa
17/07/09 20:03
theprogrammer
Postato originariamente da dedalux:

un esempio piccino piccino di come specificare la quantita di bytes? :rotfl:


Scusa, non e' per non fare l'esempio (piccino o non piccino) ma cosa vuoi che ti dica?

Devi inviare la lunghezza del file, che so, il numero

1288389

prima di inviare i byte, magari utilizzando un numero fisso di cifre, esempio

00001288389
aaa
17/07/09 20:10
riseofapocalypse
Non c'è bisogno di impostare un numero fisso di cifre, poichè se trasmetti il numero sotto forma di stringa e utilizzi un Array di Byte molto lungo (ad esempio di lunghezza server.ReceiveBufferSize), puoi fare direttamente System.Text.Encoding.ASCII.GetString(bytes).Replace(Chr(0), "";) per regolarizzare la stringa
aaa
17/07/09 20:17
theprogrammer
Postato originariamente da riseofapocalypse:

Non c'è bisogno di impostare un numero fisso di cifre, poichè se trasmetti il numero sotto forma di stringa e utilizzi un Array di Byte molto lungo (ad esempio di lunghezza server.ReceiveBufferSize), puoi fare direttamente System.Text.Encoding.ASCII.GetString(bytes).Replace(Chr(0), "";) per regolarizzare la stringa


Il numero fisso di cifre serve per capire quando finisce il numero e comincia il file ... a meno che non si usi un separatore fisso, ad esempio

12345#

se usi il # come separatore

oppure

00012345

se usi un numero fisso di cifre (8 in questo caso).

In alternativa, il valore puo' essere trasferito in binario, con un intero a 64 bit (facilmente identificabile e riconvertibile da chi riceve).
aaa
17/07/09 20:19
riseofapocalypse
Ma non c'è bisogno! Perchè il Client fra un invio e l'altro, aspetta l'"OK" del Server! :k:
aaa
17/07/09 20:23
theprogrammer
Postato originariamente da riseofapocalypse:

Ma non c'è bisogno! Perchè il Client fra un invio e l'altro, aspetta l'"OK" del Server! :k:


Se utilizzi questa "regola", naturalmente, non c'e' bisogno, ma se non vuoi utilizzare l'OK (non e' necessario), trasmetti questa sequenza

FILE#12345678#...byte del file#CRC

e basta
aaa
17/07/09 20:29
dedalux
............
dunque cosa dovrei fare?
............

premettendo che non conosco la sintassi per specificare la lunghezza del file (anche se adx me la vado a vedere)
Ultima modifica effettuata da dedalux 17/07/09 20:40
aaa