hackerking
11.07.2009, 21:49
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:
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:
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 = Truedann beim client wieder:
Case "StartDL"
SendMessage(FileData)und beim server hab ich dann nnach dem die naricht bekommen wurde diesen 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 Ifdas 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 ;(
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:
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:
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 = Truedann beim client wieder:
Case "StartDL"
SendMessage(FileData)und beim server hab ich dann nnach dem die naricht bekommen wurde diesen 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 Ifdas 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 ;(