19/05/08 20:43
acromangelo@libero.it
Ho provato in qualsiasi modo possibile immaginabile a sfruttare il winsock per l'invio dei files ma niente ogni volta la stessa cosa....
mentre nel client ( quello ke invia ) l'ipotetica barra di scorrimento finisce subito comunicandomi dell'avvenuto invio del file ( circa 2 secondi ) nel server la barra sta ancora andando e cioè il file non è ancora arrivato!
per spiegarmi meglio vedo la lucetta del mio router che continua a lampeggiare quindi sta trasferendo byte ma nel programma mi dice che ha già finito
tipo questo codice:
questa l'ho fatta io
se volete potete usarla..funziona ma come vi ho detto la barra finisce subito e mi viene fuori file inviato! invece lo sta ancora trasferendo.
un aiuto su come sincronizzare l'effettivo trasferimento con il programma?
EDIT: volevo dire anche che a causa di quest problema l'ultimo comando per la chisura del file non arriva mai...e quindi il programma nn chiuderà mai il file...sempre a causa che il client lo invia dopo 2 secondi invece il ricevente dovrebbe ricevere questo comando dopo 30 sec ( dico cosi per fare un esempio ) quindi succede ciò che ho detto
Vi ringgrazio se saprete aiutarmi
ciao
mentre nel client ( quello ke invia ) l'ipotetica barra di scorrimento finisce subito comunicandomi dell'avvenuto invio del file ( circa 2 secondi ) nel server la barra sta ancora andando e cioè il file non è ancora arrivato!
per spiegarmi meglio vedo la lucetta del mio router che continua a lampeggiare quindi sta trasferendo byte ma nel programma mi dice che ha già finito
tipo questo codice:
Public Function Send_File(FileToSend As String) Dim temp As String, inviati As Double, completo As Double, BlockSize As Long Open FileToSend For Binary Access Read As #1 Label4.Caption = "Invio del file in corso..." BlockSize = 2048 completo = LOF(1) inviati = completo / 2048 Do While Not EOF(1) temp = Space$(BlockSize) Get 1, , temp Winsock1.SendData temp barrainvio.Max = completo barrainvio.Min = 0 If (barrainvio.Value + 2048) < completo Then barrainvio.Value = barrainvio.Value + 2048 ElseIf barrainvio.Value = completo Then barrainvio.Value = completo ElseIf (barrainvio.Value + 2048) > completo Then barrainvio.Value = completo End If DoEvents Loop Close #1 DoEvents Sleep (1000) Winsock1.SendData "xx" Label4.Caption = "Invio del file completato con successo!" Text3.Text = "" Command3.Caption = "Invia la richiesta" End Function
questa l'ho fatta io
se volete potete usarla..funziona ma come vi ho detto la barra finisce subito e mi viene fuori file inviato! invece lo sta ancora trasferendo.
un aiuto su come sincronizzare l'effettivo trasferimento con il programma?
EDIT: volevo dire anche che a causa di quest problema l'ultimo comando per la chisura del file non arriva mai...e quindi il programma nn chiuderà mai il file...sempre a causa che il client lo invia dopo 2 secondi invece il ricevente dovrebbe ricevere questo comando dopo 30 sec ( dico cosi per fare un esempio ) quindi succede ciò che ho detto
Vi ringgrazio se saprete aiutarmi
ciao
Ultima modifica effettuata da acromangelo@libero.it 19/05/08 20:54
aaa