https://github.com/plasticrake/tplink-smarthome-api
上記ソースコードを丸ごとコピーして使っています。
大体いけてるのですが、耐久テストをすると時々以下のようなエラーが出ます。
「接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。」
「確立された接続がホスト コンピューターのソウトウェアによって中止されました。」
とりあえず、最大10分間の自動リトライを入れてみましたが、根本原因に対処しているわけではないため、今の対策では根治には至らないと思います。
どうぞよろしくお願い致します。
追記
4つの端末と連続して通信しています。
それが問題なのでしょうか?
もっと通信頻度を少なく、場合によってはスリープを入れるなど、無線通信の頻度を下げるとエラーは出なくなるのでしょうか?
追記
ログを見ると連続ではなく非同期で4つ同時に通信しているようです。
それが問題なのでしょうか?
追記
非同期で呼び出される関数の頭にそれぞれ0秒、1秒、2秒、3秒のスリープを入れました。
これで解消するでしょうか?
追記
スリープを入れたらUIがスリープしてしまったのでディレイを入れたらうまくいきました。
あとは本番環境でエラーが出なくなるか否かです。
もし、エラーが出るようならディレイを5秒、10秒、15秒に増やしてみようと思います。
追記
今日は以下のエラーが各端末で1回以上、合計4回以上出ているようです。
「到達できないネットワークでソケット操作を実行しようとしました。」
「確立された接続がホスト コンピューターのソウトウェアによって中止されました。」
ただ、いずれも自動リトライでカバー出来ており、システムとしては止まることなく動き続けているようです。
4機ともエラーが出ているということはディレイの時間はあまり関係なさそうです。周期が10秒なのでこれをもう少し伸ばしてみるか?それもあまり関係なさそうな、、、
よくわかりません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/06/19 03:31
退会済みユーザー
2021/06/20 09:23
退会済みユーザー
2021/06/20 09:38
2021/06/20 10:16