0

在我的蓝牙应用程序中,我试图读取我的蓝牙套接字的流。但我无法设置 readtimeout。stream.Readtimeout 总是抛出异常。我能够通过该流读写,但无法设置读取超时。以下是我的代码的一部分

NetworkStream stream;
stream = sp_sock.GetStream();//where sp_sock is my BluetoothClient
stream.ReadTimeout = 1000;

我得到的例外是:

System.InvalidOperationException:此流不支持超时

应用程序被构建为在 windows ce 6.0 机器上运行。为什么不支持此流的超时?是否应该使用networkstream以外的其他流?有什么办法可以克服这个问题吗?

4

1 回答 1

0

WinCe 套接字不支持超时(如果我没记错的话),因此 NETCF 的 NetworkStream 也不支持超时。

请查看 32feet.NET 源代码中的 InTheHand.Net.Bluetooth.Factory.TimeoutDecorStream 类。

于 2014-04-27T14:00:41.613 回答