首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蓝牙在Java中同时充当客户机/服务器

问蓝牙在Java中同时充当客户机/服务器
EN

Stack Overflow用户
提问于 2010-10-27 22:59:21
回答 1查看 1.1K关注 0票数 2

我正在尝试创建一个蓝牙应用程序,它将同时侦听传入的连接(作为服务器),并使用Java和BlueCove寻找可用的连接(作为客户端)。前提是两个蓝牙设备(如智能手机)能够自动发现对方,并在传输范围内立即开始某种文件交换或其他协作(这是用于机会主义网络的实验)。

我有一个基本的蓝牙客户端运行在它自己的线程中,一个基本的蓝牙服务器运行在它自己的线程中,我试图让它们同时工作。这是半途而废,但由于任何原因,一台设备最终总是接收到传入的连接而永远找不到其他设备,而一台设备最终会找到其他的连接,但从未接收到它们(这两台机器都运行着相同的代码,具有相同的蓝牙接口-- Windows XP中的一台机器和Windows 7中的另一台)。到目前为止,我只尝试过两种设备。

我收到了一些例外,比如:

"java.io.IOException:无法查询远程设备“

"java.io.IOException:名称查找错误;10108不知道此类服务。在指定的名称空间中找不到该服务。“

“连接失败;10051套接字操作尝试到无法到达的网络。”

两个线程都必须调用、LocalDevice、和LocalDevice,所以我需要同步线程对这些资源的访问,还是线程可以并发访问这些资源?我是否可以锁定这些对象,或者是否需要循环线程,以便客户机在服务器侦听连接时睡觉,反之亦然(我试图避免只循环这些对象,因为蓝牙中的设备发现序列太慢了,客户机线程将使服务器进程等待很长时间)?

我对多线程没有经验,而且还在学习蓝牙技术,所以如果有人有提示或信息,我会非常感激的。

EN

回答 1

Stack Overflow用户

发布于 2010-10-30 11:22:20

无线电硬件的能力似乎各不相同。正如你所发现的,有些人似乎只支持一种联系.所以再买一个更有能力的,但我不知道谁知道.:-(

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4038414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档