bojancv
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-22-2017
01:58 AM
Closing Sockets/Stop Tasks on app exit/close
HI everybody,
i am getting starting with Roku development and after playing around with examples and reading through the docs, forums etc i've noticed that there is no app close/exit event handling through app code or handling the Home button etc...
With that in mind i have the following situation:
I start a component Task that opens a TCP socket/connection and listens for some custom commands i send. The Task of course runs in a loop waiting and reading the data as it comes through the socket, updates the app UI and so on... (similar to this example https://sdkdocs.roku.com/display/sdkdoc/roStreamSocket just without allowing multiple connections)
How am i supposed to handle closing the TCP socket/port if i am unable to catch the app/exit close events?
Should i even worry about that on the Roku/BrightScript side, are the sockets automatically closed and Tasks stopped? (i've noticed that the rerunning the app after pressing Home successfully opens the socket connection on the same port so i guess that it got closed properly, but still it kinda feels wrong without any code handling :))
I've seen on this example https://sdkdocs.roku.com/display/sdkdoc/roDataGramSocket that it says :
Which leads me to believe that the closing happens automatically when the app closes. (as with some tests i implemented)
Am i getting this right? 🙂 Is so all i need to do is implement some ping/pong events for the client side to be able to detect that the Roku app socket got closed.
i am getting starting with Roku development and after playing around with examples and reading through the docs, forums etc i've noticed that there is no app close/exit event handling through app code or handling the Home button etc...
With that in mind i have the following situation:
I start a component Task that opens a TCP socket/connection and listens for some custom commands i send. The Task of course runs in a loop waiting and reading the data as it comes through the socket, updates the app UI and so on... (similar to this example https://sdkdocs.roku.com/display/sdkdoc/roStreamSocket just without allowing multiple connections)
How am i supposed to handle closing the TCP socket/port if i am unable to catch the app/exit close events?
Should i even worry about that on the Roku/BrightScript side, are the sockets automatically closed and Tasks stopped? (i've noticed that the rerunning the app after pressing Home successfully opens the socket connection on the same port so i guess that it got closed properly, but still it kinda feels wrong without any code handling :))
I've seen on this example https://sdkdocs.roku.com/display/sdkdoc/roDataGramSocket that it says :
udp.close() ' would happen automatically as udp goes out of scope
Which leads me to believe that the closing happens automatically when the app closes. (as with some tests i implemented)
Am i getting this right? 🙂 Is so all i need to do is implement some ping/pong events for the client side to be able to detect that the Roku app socket got closed.
1 REPLY 1
bojancv
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-14-2017
02:01 AM
Re: Closing Sockets/Stop Tasks on app exit/close
Well just to post if anyone bumps into the same question, the sockets are closed automatically and tasks are stopped also.