Questo topic e' stato chiuso dal moderatore.
11/10/09 1:24
GoLDBeRG
Try Module1.impostazioni.download.Add(Me) Module1.send(us, "$Connect 213.251.177.11:" & porta & "$$" & percorso & "$$" & FileLen(percorso)) nuovo = sock.Accept Thread.Sleep(5000) f = New FileStream(percorso, FileMode.Open) f.Seek(partibyte, SeekOrigin.Current) While (True) Dim buff(100000) As Byte Dim p As Integer = f.Read(buff, 0, buff.Length) Module1.impostazioni.banda += p Module1.protocol.byteinviati += p If p > 0 Then nuovo.Send(buff, 0, p, SocketFlags.None) Else disconnetti() Exit Sub End If End While Catch disconnetti() End Try
il codice sopra è la parte del lato server che legge il file e lo invia al client...
fino a qui tutto bene... ma che succede se lo stesso file dovesse essere prelevato da un altro utente?
ecco che la riga dove dichiaro il filestream mi dice che il file è in uso... ed in effetti ha ragione....come risolvere il problema?
ps. non pensate di caricare prima il file in un memory stream perche i file sono molto grandi.... qualcuno ha una saggia e giusta idea?
aaa