Oppure

Loading
26/01/09 17:13
hubris
Buonasera, probabilmente il codice è tutto sbagliato, ma non capisco perche non funziona mi potete dare una mano?
Metto i commenti con quello che faccio e ditemi se sbaglio

Lato Server
Dim x As Byte 'imposto la variabile x
Open "Percorso File" For Binary As 1 'apro il file da inviare in binario
Do 'questo non so se è giusto, ripeto l' operazione finche il file non è finito
Get #1, , x 'prendo il codice del file in binario e lo metto nella variabile x
Winsock1.SendData x 'invio la variabile x
Loop Until EOF(1) = True 'ripeto l' azione finche il file non è termineto
Winsock1.senddata "Finito" ' questo neanche mi convince
Close #1 ' chiudo

Lato Client
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
dim data as string
Dim x As Byte 'variabile x
Open "Percorso File1" For Binary As 1 'apro il file in arrivo
Winsock1.GetData x 'prendo i dati in arrivo
Do 'ripeto l' azione finche non è finito il file
Put #1, , x 'metto i dati in arrivo nel file
winsock1.getdata data
Loop Until data = "Finito" 'ripeto l' azione finche non ricevo il comando Finito (neanche questo mi convince)
Close #1 'Chiudo
End Sub
Ultima modifica effettuata da hubris 26/01/09 17:19
aaa
26/01/09 17:26
P4p3r0g4
l'errore sta nel client anche se nel server la lettura di un byte alla volta e` veramente assurdo.
mancano anche i doevents.
comunque.
se nel dataarrival ci metti un ciclo fino all'arrivo di "Finito" questo non sara` mai concluso.
l'evento di scrittura in ogni datarrival e` unico in quanto saranno gli eventi datarrival a ripetersi.
e comunque stai attento a mischiare byte con string o finirai per fare un casino con la ricezione.
aaa
26/01/09 17:51
hubris
Grazie della risposta.
Quindi il ciclo posso anche levarlo no?
e come faccio a non far trasferire un byte alla volta? Dovrei mettere lato server tutti i bite in una variabile buffer e poi trasferirli tutti insieme, oppure sta cosa che ho detto è una ca*zata? :D
Probabilmente il mio codice è completamente sbagliato...ma sto tentando di imparare, quindi se c' è bisogno di staravolgerlo ditemelo
Ultima modifica effettuata da hubris 26/01/09 17:55
aaa
26/01/09 20:14
P4p3r0g4
si e` corretto.
Pero` ti consiglio di prenderti un codice che funzioni gia` e capire il meccanismo. non perche creda che tu non possa farcela a fare un progetto del genere ma perche` il trasferimento di file da winsock contiene tante piccole accuratezze che per spiegarle tutte ci si metterebbero dei millenni.
aaa
26/01/09 20:26
hubris
gentilissimo grazie
aaa