可以在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通道,以便客户端可以连接到不同的通道号。