2012-10-15 1 views
3

몇 시간 동안 찾았지만 해결책을 찾지 못했습니다.UDP 패킷이 android에서 차단 된 것 같습니다.

Android 3.2, 4.0.3 또는 4.0.4에서 제대로 작동하는 특정 포트 (5000)에서 수신 대기하는 UDP 서버가 있습니다. 최근에 안드로이드 4.1로 업그레이드 된 휴대폰에서 해봤는데 UDP 패킷을받을 수없는 것 같습니다.

사실 나는 AVD 에뮬레이터와 동일한 문제를 재현했습니다. 물론, 안드로이드 4.0.3에서 성공적으로 실행되게하려면 redir (redir add udp 5000 : 5000)을 만들었습니다. 4.0.3 에뮬레이터에서는 정상적으로 작동하지만 4.1 에뮬레이터에서는 UDP 패킷을받지 못합니다.

이 모든 것 때문에 코드 문제라고 생각할 수 없습니다.

저는 매우 좌절감이 많고 왜 안드로이드 4.1에서 돌아 가지 않는지 이해하지 못합니다. 나는 어떤 이유도 찾을 수 없다. ...

누군가 나를 도울 수 있냐? 안드로이드 4.1에 대한 제한 사항이 있습니까?

미리 제안 해 주셔서 감사합니다.

+0

그래, 나는 똑같은 것을 확인했지만 아직 그 이유를 알아 내지 못했다. 시도한 멀티 캐스트 잠금을 사용할 필요가 있다는 이야기가 있었지만 차이는 없었습니다. – stuckless

+0

이 문제는 Android 4.2.2에서 해결 된 것으로 보입니다. –

답변

0

문제는 사용해야하는 전략 때문인 것으로 보입니다. 4.0.3에서 udp 패킷을 쓰레드에 넣을 필요가있는 것 같습니다. 그래서 스레드를 만들고 그 안에 모든 단계를 넣고 시작하십시오.

1

나는 수개월 동안 씨름 해 왔습니다. 오늘 나는 내 유선 Xperia P에 휴대용 핫스팟을 만들었고 내 장치에 WiFi를 연결했다. Voilà! Jelly Bean을 실행하는 Nexus 7은 모든 UDP 패킷을 수신합니다.