gpt4 book ai didi

c# - 使用蓝牙从电脑或手机发送命令的区别

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:45 24 4
gpt4 key购买 nike

我正在使用 Xamarin 在 C# 中开发一个跨平台应用程序。在我的应用程序中,我使用蓝牙在应用程序和第三方设备之间进行通信。

直到现在,当从所有平台发送短字节命令时,一切都很顺利。但是,当从移动电话(iOS 和 Android)发送更长字节的命令(35 字节)时,就好像设备没有收到任何命令或收到了其中的一些命令但无法理解它。

我发送的命令如下:

OutPutStream.Write(MyData.ToArray(), 0, NumberOfytes);

但是,当我在 PC 上使用具有相同字节的完全相同的代码行时,一切都很好,我得到了我想要的响应。

我还 try catch Android developer site 中指定的异常通过以下方式:

try
{
OutPutStream.Write(MyData.ToArray(), 0, NumberOfytes);
}
catch (Java.Lang.IndexOutOfBoundsException e)
{
throw;
}
catch (IOException e)
{
throw;
}

当我放入上面的行时,总是调用 IOException(即使使用确实有效的命令),e 为 null。奇怪的是所有命令(长命令除外)的字节实际上是发送和接收的!我确信所有其他命令都已正确接收,因为收到的响应是唯一的并且与我发送的命令匹配。

如果有人能告诉我我做错了什么(如果有的话)?或者,如果我应该在 iOS 和 Android 之间通过蓝牙发送字节的方式有所不同?

干杯!

最佳答案

为了防止其他人遇到与我相同的问题,下面是我“解决”它的方法。我最终决定尝试使用一个新的蓝牙设备并且它起作用了。

我仍然对它如何始终在 PC 上工作感到好奇,但可以假设它通过蓝牙发送字节的速度可能更慢,或者具有更好的错误控制/ACK 算法?

希望这在某种程度上有所帮助。干杯

关于c# - 使用蓝牙从电脑或手机发送命令的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22773625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com