蓝牙 - > Winapi/32 英尺。使用 Spp 从 PC 到一个设备的两个连接



可以在PC和其他设备之间建立两个(或更多)连接吗?当我尝试这样做时,我得到了异常:10048 -> ex。消息 ="在已连接的套接字 xxx:0000110100001000800000805f9b34fb 上发出连接请求"。如果没有,有一些解决方法?我使用 32 英尺库来编写应用程序。

我刚刚同时连接了 4 台设备 (SPP) 并定期传输数据。

所以这绝对是可能的。

如果一个设备断开连接,另一个连接将无法再获取数据,但我想这只是我代码中的一个错误。

如果其他人尝试过这个,那将非常有趣。

我想

这是不可能的。 主站和从站之间可以存在一个连接。 一个主站可以同时连接到多达7个活动从站。

而且您正在使用的其他设备很可能只支持一个连接。在您的情况下,最多可以将7台设备连接到您的PC。

这是

RFCOMM限制,而不是蓝牙堆栈较低级别的限制。请参阅 32feet.NET 文档中描述的解决方法 https://32feet.codeplex.com/wikipage?title=General%20Bluetooth%20Data%20Connections

  • 笔记

[1] 一个 RFCOMM 连接是一个协议限制。TCP/IP 在源端和目的端都有端口号,因此可以支持多个连接,RFCOMM 只有远程通道号,因此只能支持一个连接。

如果您需要多个连接并控制"服务器"设备,则让服务侦听两个(或多个)RFCOMM通道,以便客户端可以连接到不同的通道号。

最新更新