ClouDBError: java.net.SocketException:Socket is closed

I am using the below blocks...when I type back button getting the folllowing error "ClouDBError: java.net.SocketException:Socket is closed" how we can slove this ?

Is this due to Timer or not closing CloudDB propoerly ? If yes...can you share the blocks which I need to use to solve the issue ?

If you're setting up your own CloudDB server, you probably want to uncheck the UseSSL option and change the RedisPort to 6379, which is the default for non-SSL secured Redis.

I am using Default CouldDB server and observing then Error when I do..back button...

You should stop any clocks before switching screens, add that blocks code to your back button event

Can you share which block we need to use to stop timer ?

set Timer.AlwaysFires to false.

OK Thanks. When I used "Back Presees Button" along with "open another screen Sreenaname "...not able to come out from the application....its keep on looping between Screens....any suggestion ?

Switch screens correctly.

Also use timer enabled = false

To stop your clock

The issue is...

screen1 (via Button with "Open another screen") -> scree2 Working
screen2 (via Button with "Open another screen") -> screen1 Working

expecting to exit from screen1 when I give backbutton from Phone....but its going to screen2....

Show your relevant blocks for both screens


Attached screen1 and screen2 (renamed Read_xxx_Wout_BL)....

Don't open Screen1 from Screen2.

Instead, just close Screen2 and you will return to Screen1.

You need to close screens as often as you open them, to avoid stack overflow.

when I try that...getting below error...
[ClouDBError: java.net.SocketException:Socket is closed]

disabled timer
disabled Always Fires
closed screen

I setup an example app like this, with no errors...
SCREEN1 Blocks
image

SCREEN2 Blocks (timer set to 2 seconds)

where timer is set to 2 sec ? It does mean...every 2 sec .Timer Block would call ?
I am using the below blocks..with that still seeing "Socket is closed" error..

  1. What is your clock timer interval ?
  2. Set the "startValue" to a variable in the initialise block, and use that everywhere instead of "startValue"
  3. Remove TimerAlwaysFires property setter blocks - not needed.
  4. Give an example of your "startValue"

where I need to add clock timer interval (Clockl.TimerInterval) ?
startvalue using as "ravi"

You can set the interval in the clock designer, or use the interval propety setter block before you start the clock timer. Use milliseconds. My setting of 2 seconds is 2000 milliseconds.

um....

If the storeValues are only set on initialise, why do you need a clock timer for getValues ?