天蓬老师2017-04-18 09:26:57
あなたの質問は本当に抽象的です
1. データの受信または送信は独立した機能であり、sendRead であると仮定し、ビジネスから切り離します。このように、データを受信するときは、データが必要な規格に達したら、sendRead モジュールからコールバックするだけです。
readFromSocket(buffer)
このメソッドは、ブロック コールバックを使用してスタイルに変換できます。
ビジネスが特定の段階に達し、特定のデータが必要になったら、これを呼び出してコールバックで処理します。現時点では、コールバックはこのステージ のロジックを処理するだけで済みます。これでも連続呼び出しはできませんが、データの受信は一度に完了できず、データ受信者が積極的に通知するまで待つ必要があるためです。
2. handleData で複数のステータス判定を行う必要があるようですが、このビジネスは複数のスレッドで同時に実行されていますか?そうでない場合は、APP が現在 1 つの状態にあり、最初に 1 つの状態のデータを収集し、それをビジネス コードにスローして処理するだけで済むため、より簡単になります。それ以外の場合は、ビジネス ロジックを分離する必要があり、読み取り操作も分離する必要があります。