问题:
每次可以创建多个 RFCOMM channel 吗?
测试方法:
创建从手机(Samsung GALAXY S) 到PC 中两个终端的连接。 PC 有两个不同的蓝牙设备(内置和 USB dongle)并使用不同的 COM 端口,例如 COM1 和 COM2。
步骤:
使用 SPP 分别测试从手机到 PC 中不同蓝牙设备的每个连接。 ----> 好的,手机可以使用每个蓝牙设备读取 PC 在终端中发送的内容。 这意味着 PC、蓝牙设备 1(BD1)、蓝牙设备 2(BD2) 通过 SPP 工作正常。现在,我要同时测试两个连接。
建立一个连接,比如手机-> 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/