0

jmdnsを使用していくつかのモバイルデバイスを見つけようとしています。Wi-Fiまたは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の最も重要な違いは何ですか?

4

1 に答える 1

0

3gで動作することに非常に驚いています。

Bonjour/Zeroconf は、mDNSを使用して他のデバイスの IP アドレスを検出します。マルチキャスト UDP を使用して、自分自身を他のユーザーに通知します。NATを使用してユーザーを互いに分離し、インターネット上のデバイスがユーザーに接続するのを防ぐため(インバウンド接続-インターネットから3gデバイスへ)、これは3gネットワークでは機能しないと確信しています。この人の 3g でのマルチキャスト UDP のテストを読む: http://sourceforge.net/projects/open-dis/forums/forum/683284/topic/4058262

アップデート

現在の 4g デバイスでネットワークを検出するには、ConnectivityManager.TYPE_WIMAX.

于 2011-10-11T19:05:59.980 に答える