0

我正在向多播组添加一个网络接口(eth)以进行网络广播,因为我需要创建jMDNS对象。以太网接口TCPIP用于蓝牙。我面临一个问题,在服务发布中加入多播组后,需要激活 Internet/Wifi 才能创建 jMDNS 对象。在 jmdns 的客户端服务发现中,不需要创建 Multicast 或加入 Multicast Group。

因此,如果在创建多播套接字并加入组后发布服务,当我创建 jmdns 对象(不打开 Internet/Wifi)时,我会遇到异常

java.net.SocketException:setsockopt 失败:ENODEV(没有这样的设备)

如果我在 jmdns 上打开 Internet/Wifi 并且一切正常。

所以我的问题是为什么当我明确使用网络接口进行蓝牙泛绑定时需要打开 Internet/Wifi?

有没有办法解决这个问题?或BT-Tethering总是需要互联网连接?

我在 Android 框架中使用 java 作为编程语言。

4

1 回答 1

0

尝试在创建热点的设备上实例化 jmdns 时,我遇到了类似的问题。看起来您的设备必须连接到 wifi 才能实例化 jmdns(因此不是热点的主机)。

于 2016-03-03T13:11:31.627 回答