2017-11-23 35 views
0

私はRokuの開発から始まり、例を読んで、ドキュメント、フォーラムなどを通して読んでいます。アプリを介してアプリケーションの終了/終了イベント処理がないことに気付きましたコードやホームボタンなどを扱う...念頭に置いてチャンネル終了/閉じるでソケットを閉じる/閉じる

私は次のような状況があります。

を私はTCPソケット/接続を開き、私は送って、いくつかのカスタムコマンドをリッスンするコンポーネントのタスクを開始します。タスクはもちろんループで実行され、ソケットを経由してデータを読み込んで、アプリケーションのUIなどを更新します(複数の接続を許可しないでhttps://sdkdocs.roku.com/display/sdkdoc/roStreamSocket)。

私はどう思いますか?私がapp/exit closeイベントを捕まえることができない場合、TCPソケット/ポートを閉じる処理をするには?

Roku/BrightScript側で心配する必要はありますか?ソケットは自動的に閉じられ、タスクは停止していますか?(Homeを押した後にアプリケーションを再実行すると、同じポート上のソケット接続が正常に開かれているため、コードが正しく閉じられていると思われますが、まだコードが処理されていないと間違っていると気付きました:))

Iアプリを閉じたときに閉じるが自動的に行わことを信じるように私をリード

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

を:それは言うこの例https://sdkdocs.roku.com/display/sdkdoc/roDataGramSocketに見てきました」。 (私が実装したいくつかのテストの場合)

私はこの権利を得ていますか? :)私は、クライアント側がRokuアプリソケットが閉じられたことを検出できるように、ping/pongイベントを実装するだけです。

答えて

1

はい、タスクが停止なっていると、ソケットは、アプリ終了時に閉じて、メモリをなど解放され

+0

おかげで起こって涙ダウン/クリーンアップがありますが、私はいくつかのテストの後に同じ結論を得ました... – JanBo

関連する問題