Sub AStreams_NewData (Buffer() As Byte)
Dim msg As String
Dim result As Int
Select msgtype
Case 0
msg = BytesToString(Buffer, 0, Buffer.Length, "UTF8")
msg = msg.Replace(Chr(19),"")
Select msg
Case "$ready$"
readyflag = True
If readyflag AND fileselectedflag Then
send_file(directory )
End If
Case "$send$"
result = Msgbox2("האם אתה מאשר קבלת קובץ ? " ,"אישור העברת קובץ","כן", "ביטול","לא",Null)
If result = DialogResponse.POSITIVE Then
send_string("$ready$")
msgtype = 1
Else
send_string("$notready$")
End If
Case "$notready$"
readyflag = False
fileselectedflag = False
Print( "העברת הקובץ נדחתה" , False)
Case Else
Print(msg, True)
End Select
Case 1
fname = BytesToString(Buffer, 0, Buffer.Length, "UTF8")
fname = fname.Replace(Chr(19),"")
print("Recieving " & fname,False)
raf.Initialize(File.DirRootExternal & "/recieved" , fname, False)
msgtype = 2
Case 2
raftmp.Initialize3(buffer,True)
sizeR = raftmp.ReadLong(0)
raftmp.close
totalR = SizeR
positionR = 0
multR = 100 /totalR
bar.Progress = 0
msgtype = 3
Case 3
rcvtimer.Enabled = False
count = buffer.Length
Log("size= " & sizeR & " count= " & count)
raf.WriteBytes(buffer, 0, count, positionR)
SizeR = SizeR - count
positionR = positionR + count
bar.Progress = (totalR-sizeR)* multR
If sizeR <= 0 Then
raf.Close
msgtype = 0
send_string(fname & " Recieved")
Else
rcvtimer.Enabled = True
End If
End Select
End Sub
Sub rcvtimer_tick
If sizeR <= 0 Then
raf.Close
msgtype = 0
send_string(fname & " Recieved")
rcvtimer.Enabled = False
Else
lbl(lcount-1).Text = "Waiting for data"
End If
End Sub