With this communication configuration of the starter module, how could I check if I am connected to server or not?for example if Arduino is off:
From Arduino if I get it with:
Thanks.
STARTER:
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Private server As ServerSocket
Private astream As AsyncStreams
Public connected As Boolean
Private ser As B4RSerializator
End Sub
Sub Service_Create
'This is the program entry point.
'This is a good place to load resources that are not specific to a single activity.
ser.Initialize
server.Initialize(51042, "server")
server.Listen
CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
End Sub
Sub Service_Start (StartingIntent As Intent)
Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
End Sub
private Sub Server_NewConnection (Successful As Boolean, NewSocket As Socket)
' Log($"NewConnection: ${Successful}"$)
If Successful Then
connected = True
If astream.IsInitialized Then astream.Close
astream.Initialize(NewSocket.InputStream, NewSocket.OutputStream, "astream")
End If
End Sub
Sub Reconectar
server.Listen
End Sub
Private Sub AStream_NewData (Buffer() As Byte)
Dim objects() As Object = ser.ConvertBytesToArray(Buffer)
For Each o As Object In objects
' Log(o)
Select Case o
Case "paro1T"
CallSub(Main,"Input1")
Case "paro2T"
CallSub(Main,"Input2")
Case "paro3T"
CallSub(Main,"Input3")
Case "paro4T"
CallSub(Main,"Input4")
Case "paro5T"
CallSub(Main,"Input5")
Case "paro6T"
CallSub(Main,"Input6")
Case "paro7T"
CallSub(Main,"Input7")
Case "paro8T"
CallSub(Main,"Input8")
Case "paro9T"
CallSub(Main,"Input9")
Case "paro10T"
CallSub(Main,"Input10")
Case "paro11T"
CallSub(Main,"Input11")
Case "paro12T"
CallSub(Main,"Input12")
Case "paro13T"
CallSub(Main,"Input13")
Case "paro14T"
CallSub(Main,"Input14")
Case "SETA"
CallSub(Main,"InputSETA")
Case "ACTIVADA"
CallSub(Main,"InputACTIVADA")
End Select
Next
Dim SALIDA = Main.output As String
astream.Write(ser.ConvertArrayToBytes(Array(SALIDA)))
End Sub
Private Sub Astream_Error
' Log("Disconnected")
connected = False
End Sub
Private Sub Astream_Terminated
Astream_Error
End Sub
Sub Service_TaskRemoved
'This event will be raised when the user removes the app from the recent apps list.
End Sub
'Return true to allow the OS default exceptions handler to handle the uncaught exception.
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
Return True
End Sub
Sub Service_Destroy
End Sub
From Arduino if I get it with:
B4R:
Sub Connect(unused As Byte)
If ethClient.ConnectIP(serverIp, serverPort) = False Then
' Log("trying to connect again")
CallSubPlus("Connect", 1000, 0)
Return
End If
' Log("Connected to server")
astream.Initialize(ethClient.Stream, "Astream_NewData", "Astream_Error")
timer1.Enabled = True
End Sub
Thanks.