Sub Process_Globals
Dim AStreams As AsyncStreams
Dim Server As ServerSocket
Dim Socket1 As Socket
End Sub
Sub Globals
Dim Conv As ByteConverter
Dim EditText1 As EditText
Dim Label1 As Label
Dim Label2 As Label
Dim msg As String
Dim msg2 As String
Dim i As Int
Dim j As Int
Dim k As Int
Dim Panel1 As Panel
Private cvs As Canvas
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("dupa1")
Activity.Title="eeeee"
If FirstTime Then
Server.Initialize(3200, "Server")
Server.Listen
Log("MyIp = " & Server.GetMyIP)
End If
' EditText1.Initialize("EditText1")
cvs.Initialize(Panel1)
EditText1.ForceDoneButton = True
' Activity.AddView(EditText1, 10dip, 10dip, 300dip, 60dip)
Label1.Width=Activity.Width
Label1.Height=Activity.Height/7
Label1.Top=(Activity.Height/10)*6
Label1.Left=0
Label1.Gravity = Gravity.CENTER_HORIZONTAL + Gravity.CENTER_VERTICAL
Label1.TextSize=Activity.Height/10/5
Label1.Text = "size/message"
Label2.Width=Activity.Width
Label2.Height=Activity.Height/10*3
Label2.Top=Activity.Height/10*8
Label2.Left=0
Label2.Gravity = Gravity.CENTER_HORIZONTAL + Gravity.CENTER_VERTICAL
Label2.TextSize=Activity.Height/10/5
Label2.Text="waiting" & CRLF & "for data"
Panel1.Width=Activity.Width
Panel1.Height=Activity.Height/10*4
Panel1.Top=(Activity.Height)/10*2
Panel1.Left=0
End Sub
Sub Activity_Resume
End Sub
Sub Server_NewConnection (Successful As Boolean, NewSocket As Socket)
If Successful Then
' ToastMessageShow("Connected", False)
Socket1 = NewSocket
AStreams.Initialize(Socket1.InputStream, Socket1.OutputStream, "AStreams")
Else
ToastMessageShow(LastException.Message, True)
End If
Server.Listen
End Sub
Sub AStreams_NewData (Buffer() As Byte)
msg2 = Conv.StringFromBytes(Buffer, "UTF8")
' Label2.Text = "buf.length:" &Buffer.Length
If msg2.IndexOf(Chr(13)) >0 Then
i = msg2.IndexOf(Chr(13))
j = msg2.LastIndexOf(Chr(13))
k = msg2.IndexOf2(Chr(13),i+1)
Dim arry() As Byte
Dim In As InputStream
'Label2.Text = "index nr:"& i&" " & k&" " & j
msg =msg & msg2.SubString2(0,i)
Label1.Text ="parsed data:" & msg.Length
arry = Conv.StringToBytes(msg,"UTF8")
Try
In.InitializeFromBytesArray(arry, 0, arry.Length)
Dim bmp As Bitmap
bmp.Initialize2(In)
Dim r As Rect
r.Initialize(0, 0, Panel1.Width, Panel1.Height)
cvs.DrawBitmap(bmp, Null, r)
Panel1.Invalidate
Catch
End Try
msg = ""
Do While i<>msg2.LastIndexOf(Chr(13))
If msg2.IndexOf2(Chr(13),i) >=0 Then
j = msg2.IndexOf2(Chr(13),i+1)
msg = msg2.SubString2(i+1,j)
'Try
'In.InitializeFromBytesArray(arry, 0, arry.Length)
'Dim bmp As Bitmap
'bmp.Initialize2(In)
'Dim r As Rect
'r.Initialize(0, 0, Panel1.Width, Panel1.Height)
'cvs.DrawBitmap(bmp, Null, r)
'Panel1.Invalidate
' Catch
' End Try
Label2.Text = msg
msg=""
i=j
End If
Loop
msg = msg2.SubString2(i+1,msg2.Length)
Else
msg = msg & msg2
Label2.Text = "index nr:0 0 0"
End If
Log(msg)
End Sub
Sub AStreams_Error
ToastMessageShow(LastException.Message, True)
End Sub
'press on the Done button to send text
Sub EditText1_EnterPressed
If AStreams.IsInitialized = False Then Return
If EditText1.Text.Length > 0 Then
Dim buffer() As Byte
buffer = EditText1.Text.GetBytes("UTF8")
AStreams.Write(buffer)
EditText1.SelectAll
Log("Sending: " & EditText1.Text)
End If
End Sub
Sub Activity_Pause(UserClosed As Boolean)
If UserClosed Then
Log("closing")
AStreams.Close
Socket1.Close
End If
End Sub