我有一个蓝牙服务器运行在我的Ubuntu桌面上,使用PyBlueZ编写。该服务器正在通过UUID广告某项服务。我已经使用一个也是用PyBlueZ编写的客户端彻底测试了这个服务器。
现在,我正在尝试使用BlueCove实现一个Java客户端。我的BlueCove客户端可以成功地定位我的桌面(我通过打印出“用户友好的名称”来检查)。但是,当我在桌面上搜索通告的UUID时,没有找到任何服务。我没有得到一个错误或任何东西,我只是没有得到发现的服务的任何回调。
在连接这两个系统时,有没有什么不寻常的地方?UUID是相同的,尽管我注意到PyBlueZ格式要求在UUID中使用破折号"-“,而BlueCove需要一个连续的十六进制数字字符串。我假设这是一个纯粹的表面性问题。
最后,在一个不相关的问题上,有没有BlueCove社区?我已经想出了一个极度缺乏的资源来寻找我的BlueCove问题的答案……
发布于 2012-03-22 13:30:23
我犯的错误是我没有意识到searchServices()是一个异步方法,它需要和设备发现一样多的时间来执行。我不是为了给它一个寻找服务的机会而睡()的。
现在我给了searchServices()完成的时间,它至少调用了serviceDiscovered回调函数。
https://stackoverflow.com/questions/9813130
复制相似问题