0

我正在 c# 中开发一个蓝牙应用程序,以使用 32feet.net 库从传感器读取数据。我能够与传感器通信并能够读取值、发送命令等。通信线程将等待读取或向传感器写入命令。我预计传感器突然断电时会引发 IOException。但从来没有例外。

需要帮忙弄清楚当传感器突然断电时会抛出什么样的异常?

4

1 回答 1

1

应该会发生异常:20 秒后以及之后您执行的下一个 IO 操作。你等那么久吗?还是您的 Read 调用返回零?

请参阅https://32feet.codeplex.com/wikipage?title=Connected%20Property上的#2

在我对蓝牙的测试中,一台设备似乎需要大约 20 秒才能意识到另一台设备已经消失——尽管这可能是可配置的。这在蓝牙中称为“链路监督超时”。因此,您必须等待很长时间才能让系统知道连接丢失,然后您会在下一次 IO 操作时发现如果您在没有接收到数据时开始读取,它将阻塞直到连接失败或关闭(或接收到一些数据)。

于 2014-04-22T15:21:29.563 回答