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 ;(