Hello everyone,
I succesfully made a connection with my server written in vb.net, but when I try to send a message from my server to the client (my device), it force closes.
In my app I have the following log:
Server side:
Client side:
Any help?
XverhelstX
I succesfully made a connection with my server written in vb.net, but when I try to send a message from my server to the client (my device), it force closes.
In my app I have the following log:
FATAL EXCEPTION: Thread-10
java.lang.OutOfMemoryError: array size too large
at anywheresoftware.b4a.randomaccessfile.AsyncStreams$AIN.run(AsyncStreams.java:163)
at java.lang.Thread.run(Thread.java:1019)
Force finishing activity anywheresoftware.b4a.samples.network/.main
Server side:
B4X:
Private Sub dat(ByVal dat As String)
Dim nstream As NetworkStream = sock.GetStream()
Dim bit As [Byte]() = System.Text.Encoding.UTF8.GetBytes(dat)
nstream.Write(bit, 0, bit.Length)
End Sub
Private Sub Btn_Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Connect.Click
dat("0")
End Sub
end sub
Client side:
B4X:
Sub Process_Globals
Dim AStreams As AsyncStreams
Dim Server As ServerSocket
Dim Socket1 As Socket
Dim TEXT_BYTE, IMAGE_BYTE, IMAGEOK_BYTE As Byte
TEXT_BYTE = 1
IMAGE_BYTE = 2
IMAGEOK_BYTE = 3
End Sub
Sub Globals
Dim EditText1 As EditText
Dim BC As ByteConverter
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
Server.Initialize(10130, "Server")
Server.Listen
Log("MyIp = " & Server.GetMyIP)
End If
EditText1.Initialize("EditText1")
EditText1.ForceDoneButton = True
Activity.AddView(EditText1, 10dip, 10dip, 300dip, 60dip)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause(UserClosed As Boolean)
If UserClosed Then
Log("closing")
AStreams.Close
Socket1.Close
End If
End Sub
Sub Server_NewConnection (Successful As Boolean, NewSocket As Socket)
If Successful Then
ToastMessageShow("Connected", False)
Socket1 = NewSocket
AStreams.InitializePrefix(Socket1.InputStream, False, Socket1.OutputStream, "AStreams")
Else
ToastMessageShow(LastException.Message, True)
End If
Server.Listen
End Sub
Sub AStreams_NewData (Buffer() As Byte)
Dim msg As String
msg = BytesToString(Buffer, 0, Buffer.Length, "UTF8")
ToastMessageShow(msg, False)
Log(msg)
End Sub
Sub AStreams_Error
ToastMessageShow(LastException.Message, True)
End Sub
Sub AddCommandToBytes(Command As Byte, Buffer() As Byte, Length As Int) As Byte()
Dim b(Length + 1) As Byte
b(0) = Command
BC.ArrayCopy(Buffer, 0, b, 1, Length)
Return b
End Sub
Any help?
XverhelstX