Oppure

Loading
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
11/10/09 6:54
theprogrammer
Dai un'occhiata al costruttore

msdn.microsoft.com/en-us/library/…

specialmente nella parte dell'argomento FileShare
Ultima modifica effettuata da theprogrammer 11/10/09 10:36
aaa
11/10/09 10:27
GoLDBeRG
ti ringrazio era proprio il parametro fileshare non ci avevo guardato!!!!
aaa