私がC#(.Net Framework 2.0)で作業しているプログラムでは、「リモートモード」に切り替えて、Bluetooth経由でASCIIデータを別の画面に送信する機能が必要です。私はあまり経験豊富なプログラマーではなく、ネットワーキングについては何も知りませんが、昨日SerialPortクラスをいじくり回した後、Bluetooth接続された2つのデバイス間でうまく機能する小さなチャットプログラムを作成することができました。 。
ただし、チャットプログラムは、ユーザーがボタンを押してデータを「送信」した場合にのみデータを送信しました。2つのデバイスが正しく接続されていない場合はTimeoutException
、エラーメッセージとともにをスローしました。私が現在取り組んでいるプログラムははるかに大きく、COMポートが開いている限り常にデータを書き込もうとします。
つまり、2つのデバイスがすぐに接続されていない場合は、をスローする必要がありTimeoutException
、正しく接続されるまで何度も何度もスローを続けます。それは完全に受け入れられません。プログラムの速度が低下し、使用できなくなり、デバッグ出力に「TimeoutExceptionThrownHere」エラーメッセージが表示されます。
これを行う方法についてより良い解決策はありますか?2つのデバイスが接続されていることを確認できた場合にのみ、データを書き出すことができる方法。常にチェックする必要はありません(その後、チェック中にタイムアウトエラーが発生します)。