Oppure

Loading
29/05/11 7:32
manudd93
ciao a tutti questo è il mio codice per il trasferimento di un file ma ho un problema
la prima volta il file viene inviato la seconda volta il codice di blocca e nn funziona piu ecco qui il codice il client che deve ricevere il file:
 dim savenum as integer
 Private Sub Winsock1_ConnectEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Winsock1.ConnectEvent
        savenum = 1
        FileOpen(savenum, "C:\prova.txt", OpenMode.Binary)
end sub
Private Sub Winsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock1.DataArrival

Timer1.Enabled = False
        
        Dim RcvdData() As Byte
        Winsock1.GetData(RcvdData)
        FilePut(savenum, RcvdData)
        Timer1.Enabled = True
end sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        FileClose(savenum)
        Timer1.Enabled = False
        MsgBox("file ricevuto", MsgBoxStyle.Information)
end sub 

poi questo è il server che invia il file:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim i As Integer

                Dim ReadNum As Integer
                Dim ReadData(2047) As Byte
                Dim ReadLength As Long

                ReadNum = 2

                FileOpen(ReadNum, "C:\desk.jpg", OpenMode.Binary)
                ReadLength = LOF(ReadNum)


                For i = 1 To ReadLength \ 2048
                    FileGet(ReadNum, ReadData)
                    Winsock1.SendData(ReadData)
                Next

                If ReadLength Mod 2048 <> 0 Then
                    Dim ReadData2((ReadLength Mod 2048) - 1) As Byte

                    FileGet(ReadNum, ReadData2)
                    Winsock1.SendData(ReadData2)
                End If

                FileClose(ReadNum)
end sub

cosa è che nn va e poi mi dice che FilePut(savenum, RcvdData) nome o numero file nn valido mi potreste aiutare grz
:)
aaa
30/05/11 9:24
Il Totem
FileOpen, FileGet, FilePut, LOS, Winsock e MsgBox sono tutte funzioni o componenti di VB6. Se vuoi postare nella sezione .NET devi programmare in .NET, quindi fare un salto avanti nel tempo di circa 10 anni.
aaa
30/05/11 10:57
manudd93
quindi le winsock le devo buttare ma nn capisco perche i componeti com sono quasi proibiti in .net?
aaa
30/05/11 11:37
Phil93
Non è che sono proibite, è che nella stragrande maggioranza dei casi esiste un equivalente .NET molto più robusto ed efficente.
aaa