【问题标题】:CoreBluetooth - Can connectPeripheral be called multiple timesCoreBluetooth - 可以多次调用connectPeripheral
【发布时间】:2013-07-29 21:46:12
【问题描述】:

应用程序可以尝试同时连接到多个设备吗?

当应用调用“connectPeripheral”时,它会尝试连接一段未指定的时间,因为没有超时。但是,如果第二次调用“connectPeripheral”,它会取消之前的调用,还是应用程序会尝试同时建立两个单独的连接?

【问题讨论】:

    标签: ios ios5 ios6 core-bluetooth bluetooth-lowenergy


    【解决方案1】:

    在我的测试中,我发现如果您在连接之前多次调用它,实际连接将花费更长的时间(并且实际上通常会阻止连接发生),但之后通常会正常运行。

    但是,我注意到的一件大事是,如果您尝试在 didConnectPeripheral: 回调中调用 connectPeripheral:,您将陷入无限循环,并一遍又一遍地返回 didConnectPeripheral:

    长话短说,如果您不希望发生此类未定义的行为,则每个connectPeripheral: 调用都应与cancelPeripheralConnection:(或didDisconnectPeripheral:)调用匹配。

    【讨论】:

    • 当你说多次调用connectPeripheral会有延迟时,是在同一设备上尝试多次调用connect,还是在多个设备上调用一次?还是两者都有?
    • 这是每个设备,但我也在测试多个设备并在每个设备上多次调用 connectPeripheral
    • 啊,我明白了。我只打算每台设备调用一次连接,所以我应该很好。感谢您的回复!
    • 是的,没问题!乐于助人!
    猜你喜欢
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多