2010-08-10 5 views
1

Android에서 UDP 서버/클라이언트의 기본 구현을 사용하려고합니다. JNI를 사용하여 Java에서 원시 코드에 액세스하고 있습니다.android에 대한 기본 UDP 구현

코드는 Android 1.5 (HTC Hero)에서 성공적으로 테스트되었지만 Android 2.1 (HTC Legend)에서 동일한 응용 프로그램을 실행하려고하면 32 바이트보다 큰 패킷을받을 때마다 "스택 손상 감지"가 발생하고 응용 프로그램이 충돌했습니다.

누군가가 스택 손상을 일으킬 수있는 단서가 있습니까?

+0

흥미로운 문제. 방금 찾은 것 : http://groups.google.com/group/android-developers/browse_thread/thread/d9a73db86093e268?pli=1 – Macarse

답변

0

두 가지 가능한 해결책을 찾았습니다. 1. recvfrom() 대신에 read를 사용하십시오. 2. 소스 코드를 컴파일 할 때 ndk에서 android 라이브러리와 헤더를 사용하십시오. makefile의 헤더 검색 경로에 헤더 파일 디렉토리를 추가하기 만하면됩니다.

희망 하시겠습니까?

관련 문제