设为首页 加入收藏

TOP

Linux环境下多线程实现同时连接多个蓝牙设备
2014-11-23 23:26:54 来源: 作者: 【 】 浏览:12
Tags:Linux 环境 线程 实现 同时 连接 多个 蓝牙 设备

Linux下基于bluez 与openobex库实现蓝牙传输,目前实现的基本流程为:


inquiry--->通过SDP获得对方channel--->创建线程


线程实现对查询到的蓝牙设备发送文件,主要操作包括:创建一个obex instance handle、socket处理、建立连接、发送文件等;


实际测试过程中,发现非常的不稳定,经常出现连接失败的问题,每次能够同时建立连接的蓝牙设备个数不定,连接失败出现的错误信息为“Device or resource busy”,很郁闷,跟踪调试发现sockt创建与绑定都没有问题,而是在实现socket connect的时候出现问题,又不能进到里面看看。


今天在msn上跟一个朋友聊起了这个问题,却被他一语点破(当然还没有彻底明白,但是知道怎么回事了,他说受蓝牙跳频技术的影响,在两个蓝牙设备建立连接之前,两个设备之间的跳频序列是不确定的,同时连接就会互相干扰,所以蓝牙连接的建立要依次实现,但是连接建立之后,两个蓝牙设备之间的跳频序列就确定了,可是同时进行数据的传输,是没有问题的。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux 2.6.26内核已发布 下一篇ruby相关:Linux下的回车

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: