私はファームウェアのバックグラウンドを持っており、主に通常の手続き型Cでコードを記述しています。
現在、専用のTCPソケットを介して一部のハードウェアに接続し、カスタムプロトコル形式でデータを交換するために、Webブラウザを入手する必要があります。このテクノロジーは新しい電話、PC、タブレットで機能するため、Websocketルートを選択しました。
私の問題は、Javascriptに真のSleep()関数がないことです。通常、次のようなことを行います。
- メッセージを送る。
- ハードウェアがメッセージを処理している間、スリープします。
- 応答を取得して、プログラムの実行を続行します。
たとえば、いくつかのデータをハードウェアに保存したいと思います。
- プロトコルでデータを送信します。
- ハードウェアがデータを保存したことを確認する応答を取得します。
- 成功した場合はメッセージAを送信し、そうでない場合はメッセージBを送信します。
問題は、スリープがないため、ステップ3を実行できないことです。setTimeoutfunction()について読みましたが、これで問題が解決しません。コールバックイベントが受信した各パケットを処理し、さまざまな関数にジャンプするのは面倒なようです。また、whileループで大量の送信があった場合、これはコールバック関数では不可能に思えますか?
私のアプローチが間違っている可能性があることは理解していますが、この状況に対処するために私の推論を調整する方法を誰かが私に説明できますか?
コメントや提案をいただければ幸いです。
ありがとう、