Android JMDNS不能使用4G连接吗?

Android JMDNS不能使用4G连接吗?,android,connection,3g,jmdns,4g,Android,Connection,3g,Jmdns,4g,我正在尝试使用jmdns发现一些移动设备。只要我有wifi或3G连接,设备就可以被发现。从那以后,我使用4G连接,它说没有检测到任何设备 ConnectivityManager conMgr = (ConnectivityManager) getSystemService (Context.CONNECTIVITY_SERVICE); if ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == Network

我正在尝试使用jmdns发现一些移动设备。只要我有wifi或3G连接,设备就可以被发现。从那以后,我使用4G连接,它说没有检测到任何设备

ConnectivityManager conMgr = (ConnectivityManager) getSystemService (Context.CONNECTIVITY_SERVICE);
if ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED 
                || conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED ) {}

我是否必须设置另一个条件才能启用4G连接?4G和3G在编程上最大的区别是什么?

我很惊讶它能在3G上运行

Bonjour/Zeroconf用于发现其他设备的IP地址。它使用多播UDP向其他人宣布自己。我很确定这在3g网络上不起作用,因为它们用来将用户彼此分开,并阻止internet上的设备连接到他们(入站连接-internet到3g设备)。阅读以下内容,测试3g上的多播UDP:

更新


要在当前4g设备上检测网络,您应该检查ConnectionManager.TYPE_WIMAX

我很惊讶它能在3g上工作。即使你关掉Wifi?哎呀,我想我没有关掉Wifi。是的,你是对的,这甚至不适用于3G。我现在明白了,谢谢你的解释:)我想找出另一个问题。如果我只使用3G连接,它不会检测到任何设备,但至少应用程序是通过互联网连接运行的。但当我使用4G连接时,它说“根本没有连接”很难说没有错误或代码。这是两个不同的问题。