正在关闭频道 exit/close 上的 Sockets/Stop 个任务

Closing Sockets/Stop Tasks on channel exit/close

我开始使用 Roku 开发,在尝试示例并通读文档、论坛等之后,我注意到没有应用程序 close/exit 通过应用程序代码或处理主页按钮来处理事件等...

考虑到这一点,我有以下情况:

我启动了一个组件任务,它打开一个 TCP socket/connection 并监听我发送的一些自定义命令。任务当然在一个循环中运行,等待和读取通过套接字传入的数据,更新应用程序 UI 等等......(类似于此示例 https://sdkdocs.roku.com/display/sdkdoc/roStreamSocket 只是不允许多个连接)

如果我无法捕获 app/exit 关闭事件,我应该如何处理关闭 TCP socket/port?

我什至应该担心 Roku/BrightScript 方面,套接字会自动关闭并且任务会停止吗?(我注意到在之后重新运行应用程序按 Home 键成功打开同一端口上的套接字连接,所以我猜它已正确关闭,但在没有任何代码处理的情况下仍然感觉有点不对:))

我在这个例子 https://sdkdocs.roku.com/display/sdkdoc/roDataGramSocket 上看到它说:

udp.close()  ' would happen automatically as udp goes out of scope

这让我相信关闭会在应用程序关闭时自动发生。 (与我实施的一些测试一样)

我做对了吗? :) 所以我需要做的就是为客户端实现一些 ping/pong 事件,以便能够检测到 Roku 应用程序套接字已关闭。

是的,任务正在停止,套接字在应用程序退出时关闭,内存被释放等。tear-down/cleanup 正在发生