android - 一次可以创建多个 RFCOMM channel 吗?

标签 android bluetooth rfcomm

问题:

每次可以创建多个 RFCOMM channel 吗?

测试方法:

创建从手机(Samsung GALAXY S) 到PC 中两个终端的连接。 PC 有两个不同的蓝牙设备(内置和 USB dongle)并使用不同的 COM 端口,例如 COM1 和 COM2。

步骤:

  1. 使用 SPP 分别测试从手机到 PC 中不同蓝牙设备的每个连接。 ----> 好的,手机可以使用每个蓝牙设备读取 PC 在终端中发送的内容。 这意味着 PC、蓝牙设备 1(BD1)、蓝牙设备 2(BD2) 通过 SPP 工作正常。现在,我要同时测试两个连接。

  2. 建立一个连接,比如手机-> BD1。 ---> 好的。手机可以使用此连接从 PC 中的终端 1 读取数据。

    2.1 建立另一个连接(手机-> BD2)。 ---> 好的。没有异常,链接建立成功。

问题:

一旦建立了第二个连接,我在终端 1 中输入的内容将被转发并由第二个连接接收。另一方面,在终端 2 中键入的连接 2 中不会接收到任何数据。

讨论 我粘贴我的错误报告 HERE .如果我没看错的话,蓝色字体部分是建立第一次连接的过程,蓝色字体下面的黑色字体部分是建立第二次连接的过程。

我怀疑“可以建立多个RFCOMM”的原因是在错误报告中,我把它写成粗体。我们可以看到他们都在使用“rc chan 1”,这是否意味着他们使用相同的 RFCOMM??

非常欢迎任何推荐或建议!

最佳答案

android 2.1 上有同样的问题,尝试 android 2.2 并且您将有 2 个并发的 SPP/RFCOMM session 正常工作(没有串扰)。我试图在 Galaxy S 手机(连接到 3 个 SPP 从属设备)上建立并运行 3 个及以上的并发连接,但它连接的设备不超过 2 个。有人知道在哪里执行此限制吗?直接的 BlueZ 堆栈没有此限制。

谢谢

关于android - 一次可以创建多个 RFCOMM channel 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3857508/

相关文章:

android - 默认 FirebaseApp 未初始化

Android WebView Wrapper(应用内浏览器)行为

java - 使用 RXTX 库列出并连接到分配给 Windows 上蓝牙设备的串行端口

android - 在Android上通过蓝牙使用APP进行数据传输错误

android - 屏幕锁定时无法运行 ble 扫描仪

android - 使用 ActionBarSherlock 实现滑动抽屉导航

python - 连接到 nxt 砖时出错

bluetooth - 智能蓝牙 : GATT Vs. ATT - 它们之间有什么区别?

linux - 无法创建 RFCOMM TTY : Address already in use

Android SPP 蓝牙到非 Android 设备