1

我正在寻找通过蓝牙在 Android 设备之间发送消息。我遵循了开发人员指南,它可以工作。但是在使用它时会发现一些已发送的消息可能会丢失。

例如,我想发送可靠的消息,就像我在 TCP over Wifi 中所做的那样。到目前为止,我得到的答案是在我的应用程序中实现自己的确认系统。但我相信存在一种更简单、更好的方法,比如通过蓝牙使用 TCP。环顾四周,我发现了这个令人失望的答案:Java 的蓝牙之上是否有任何 TCP/IP 堆栈实现,尤其是 Android?.

在Android上真的不可能吗?

4

2 回答 2

1

搜索各种蓝牙协议。蓝牙协议有:

  1. L2cap:不可靠
  2. rfcomm:建立在 l2cap 之上,像 tcp 一样可靠
  3. obex:使用 rfcomm 作为传输层,用于发送对象。

所以你的选择可能是 rfcomm 和 obex 协议。找到在 android 上实现这些的方法。我在 J2me 中实现了这些,不确定 android。

于 2013-10-07T14:45:23.850 回答
0

我认为您可以“像我在 tcp over wifi 中所做的那样发送可靠的消息”。蓝牙套接字与常规的 TCP/IP 堆栈不同,但我相信它是可靠的。我认为您不会丢失消息而不会在套接字通信中遇到错误(或异常)。

您是说在 Android 上使用蓝牙套接字时消息消失且没有错误吗?你确定吗?

于 2013-10-07T14:30:12.203 回答