質問
で頂いてマルチキャストを作Android2.2の、具体的には、JmDNSのためのボンジュールサービスの検出を行います。多くの質疑応答からAndroid1.5->2.0期間を含むstackOverflowとを示した多様なレベルの成功には、バグのバグトラッカーを示すまたを設定し、閉鎖、2.2(http://code.google.com/p/android/issues/detail?id=2323).また、"TuneControl"ソースコードが手がけ~1.5更新していないといけないでに2.2となります。
での問題...1) 誰でも 見たマルチキャストの作業は2.2具体的にはJmDNS、専用のボンジュールサービス検出?
2)何が必要であるようにするためのコードす。
を使用している適切な権限を与え:
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
を取得して、マルチキャストロック
WifiManager wifi = (WifiManager)getSystemService( Context.WIFI_SERVICE );
if(wifi != null)
{
MulticastLock mcLock = wifi.createMulticastLock("mylock");
mcLock.acquire();
...
してから開始jmDNSみサーバー:
mdns = JmDNS.create(addr, HOSTNAME);
jmdns.addServiceListener(TOUCH_ABLE_TYPE, listener);
jmdns.addServiceListener(DACP_TYPE, listener);
...
リスナーにいを見せます。確認できていをWiresharkの要求パケットを送信し、サーバが応答し、応答パケットは見たことのないようにソケットリスナーコードのjmDNS図書館があります。
なので---私何かが足りない?はこだまだバグ?で頂いておりなんといっても遠隔でこのような仕事に???
解決
Toは(失礼)自分の質問に答え、より多くの情報は、<のhref = "http://code.google.com/p/android/issues/detail?id=2917#c48" のrel = "noreferrerで提供されました「> http://code.google.com/p/android/issues/detail?id=2917#c48 を別の人によります。後世のために、彼らが言うように、ここにあるbrian.ro ... @ gmail.comの答え...
「私はかなりの時間を費やしてきました 私の上のJmDNSとデバッグのmDNSの問題 エボとHTCヒーロー(CDMA)。どのような私が見つけました あるでフィルタがあるように見えます Broadcomの無線ドライバで場所 エボ上(およびので、私はAを取得しています HTCの欲望のユーザーから似reprt - 同じチップセット、だけでなく、おそらくその受話器)と。フィルタによる デフォルトでは、ブロックを任意の非ユニキャストまたは 含むネットワークブロードキャストトラフィック、 マルチキャスト。どうやら理論でした それはバッテリーセーバーです。
問題があるように思われます エボのwpa_supplicantのにはありません これらのフィルタを削除サポート あなたはMulticastLockを取得します。 (チェック あなたが取得した直後に出力するログ ロックとあなたは私が何を意味するかわかります)。 残念ながら、何が起こったのです ハードウェアベンダーは、断片化しています マルチキャストサポート.... :( "
だから... ...このコーディングの問題よりも、デバイスの問題で表示されます。ああD'。 :(私は別のデバイス上でテストする機会を得た場合...
他のヒント
れをやってきたということを少し研究することであると考えている問題Android、および固定にAndroid2.3.7.
奥高尾にひっそりと建つ料亭。もミクロのだが、ここで私が試験:
- HTC Desire,2.2からは、株式失敗
- HTC Desire,2.3.7,CyanogenMod:成功
- Motorolaのマイルストーン2.1-update1:失敗
- HTC Desire S,2.3.3:失敗
- Acer Iconia A501,3.2.1:成功
- サムスン物2.3.3:失敗
- HTC伝説2.2いと思い:失敗
私が言いたいことは、"失敗"のところにあったすべてを送信できるマルチキャストメッセージは"成功"デバイス、がんになってもメールが届返を除く自分のメッセージとしてjldupontい。
なお、マルチキャストIMアプリ Kouchat のみご利用いただけ2.3.7以降もできるコンパイルのためのこうした中、先進国における2.1、さらにcredenceこの理論です。
と思い、その他の理由はAPに対応していない
その他コンピュータの送受ける/Android(アンドロイド)端末の
パソコンのみでWIFI使用は、すべてのその他のネットワーク