【发布时间】:2016-03-03 12:19:58
【问题描述】:
我将一个网络接口 (eth) 添加到多播组以进行网络广播,因为我需要创建 jMDNS 对象。以太网接口是TCPIP 用于蓝牙。我面临一个问题,在服务发布中加入多播组后,需要激活 Internet/Wifi 才能创建 jMDNS 对象。在 jmdns 的客户端服务发现中,不需要创建 Multicast 或加入 Multicast Group。
所以如果在创建多播套接字并加入组后发布服务,当我创建 jmdns 对象时(不打开 Internet/Wifi) 我遇到了异常
java.net.SocketException:setsockopt 失败:ENODEV(没有这样的设备)
如果我在 jmdns 上打开 Internet/Wifi 并且一切正常。
所以我的问题是,当我明确使用网络接口进行蓝牙-Pan 网络共享时,为什么需要打开 Internet/Wifi?
有什么办法可以解决这个问题吗?还是 BT-Tethering 总是需要互联网连接?
我在 Android 框架中使用 java 作为编程语言。
【问题讨论】:
-
“我正在使用 Android 作为编程语言。” - 我认为它的 Java... ;)
-
抱歉错了......使用java反射......我正在使用java进行网络共享和连接
标签: android bluetooth jmdns multicastsocket