2011-10-11 6 views
0

jmdns를 사용하는 일부 모바일 장치를 찾으려고합니다. Wi-Fi 또는 3G 연결을 사용하는 한 기기를 검색 할 수 있습니다. 이후 4G 연결을 사용 했으므로 장치가 감지되지 않는다고 말했습니다.JMDNS가 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 간의 가장 중요한 차이점은 무엇입니까?

+0

3g에서 효과가 있습니다. Wi-Fi를 끄더라도? –

답변

0

나는 3g에서 매우 놀랍습니다.

Bonjour/Zeroconf는 mDNS을 사용하여 다른 장치의 IP 주소를 검색합니다. 멀티 캐스트 UDP를 사용하여 다른 사람에게 자신을 알립니다. 나는 그들이 서로로부터 사용자를 분리하고 그들 (인바운드 연결 - 3g 장치에 인터넷)에 연결하는 인터넷상의 장치를 막기 위해 이것이 NAT을 사용하는 3g 네트워크에서 작동하지 않는다고 확신한다. 당신이 ConnectivityManager.TYPE_WIMAX 확인해야 현재 4g 장치의 네트워크를 검출 http://sourceforge.net/projects/open-dis/forums/forum/683284/topic/4058262

업데이트

: 3g에서 멀티 캐스트 UDP의이 녀석 테스트를 읽습니다.

+0

죄송합니다. Wi-Fi를 사용 중지하지 않았다고 생각합니다. 그래, 네 말이 맞아, 그건 3G조차 작동하지 않아. 나는 그것을 지금 얻었다, 큰 설명을위한 감사 :) –

+0

다른 하나의 문제는 내가 알아 내고 싶다. 3G 연결 만 사용하는 경우 장치가 검색되지 않지만 적어도 앱은 인터넷 연결로 실행됩니다. 하지만 4G 연결을 사용하면 "연결이 전혀 없습니다"라고 말합니다. –

+0

오류나 코드를 보지 않고 말하기가 어렵습니다. 이것은 두 가지 개별적인 문제입니다. –