Jo hey Leute..
ich code grade einen kleinen chat, welcher auch einen file transfer hat. ich mach es so, dass ich beim client die datei mit FileGet einlese:
Code:
                        FileOpen(1, Replace(tmpArr(1), "\\", "\"), OpenMode.Binary)
                        FileData = Space(LOF(1))
                        FileGet(1, FileData)
                        FileClose(1)
SendMessage("Down|||" & Len(FileData) & "|||")
und beim server kommt dann das an:

Code:
 Case "Down"
ThreadChangeLabel(CInt(tmpArr(3)) & "B")
ChangeMax(CInt(tmpArr(3)))
ThreadProgress(0)
tmp = 0
FileOpen(1, My.Application.Info.DirectoryPath & "\" & fromTrans.lblFilename.Text, OpenMode.Binary)
SendMessage("StartDL|||", CInt(fromTrans.Tag))
Download = True
dann beim client wieder:

Code:
                    Case "StartDL"
                        SendMessage(FileData)
und beim server hab ich dann nnach dem die naricht bekommen wurde diesen code:

Code:
                If Download = True Then
                    tmp = tmp + Len(tmpMsg)
                    ThreadProgress(CInt(tmp))
                    If CInt(Replace(fromTrans.lblFilesize.Text, "B", "")) = tmp Then
                        FilePut(1, tmpMsg)
                        FileClose(1)
                        Download = False
                    Else
                        FilePut(1, tmpMsg)
                    End If
                End If
das klappt auch aber nur mit 1 kb datein... wenn sie größer sind, dann bekomm ich den fehler, das das programm bei 99 % stehen bleibt (ablesbar an progressbar) und dann einfach nichts mehr passiert ;(