Программа, над которой я работаю в C # (.Net Framework 2.0), требует возможности переключаться в «удаленный режим» и отправлять данные ascii на другой экран через Bluetooth. Начну с того, что я не очень опытный программист, и я ничего не знаю о работе в сети, но вчера я вчера пообщался с классом SerialPort и смог создать небольшую программу для чата, которая прекрасно работала между двумя устройствами, подключенными по Bluetooth ,
Программа чата, однако, отправляла данные только тогда, когда пользователь нажимал кнопку, чтобы «отправить» данные. Если два устройства не были правильно подключены, я просто выкинул TimeoutException
вместе с сообщением об ошибке. Программа, над которой я сейчас работаю, намного больше и старается постоянно записывать данные, если у нее открыт COM-порт.
Это означает, что, если два устройства не подключены сразу, оно должно выбросить TimeoutException
, и оно будет продолжать выбрасывать его снова и снова, пока они НЕ БУДУТ правильно подключены. Это совершенно неприемлемо. Он замедляет работу программы до такой степени, что она становится непригодной для использования, и выводит отладочные сообщения с сообщениями об ошибках «TimeoutException Thrown Here».
Есть ли лучшее решение, как это сделать? Каким-то образом я могу заставить его записывать данные только в том случае, если я могу подтвердить, что два устройства подключены, без постоянной проверки (и последующего получения ошибок тайм-аута при проверке).