2010-11-27 8 views
3

현재 Android 용 프로젝트를 구현할 수 있는지 평가하려고합니다. 하나의 큰 문제는 P2P 클라이언트이므로 실행 중 상당량의 연결을 유지해야한다는 것을 알았습니다. 이제 연결은 많은 양의 데이터를 전송하지 못합니다. 메시징 시스템에 가깝습니다. 따라서 매번 64 바이트의 단일 메시지를 읽는 경우 각 연결마다 스레드가 있으면 쓸데없는 오버 헤드가 발생합니다.Android 용 IO 차단 없음

그래서 Linux에서 select() 또는 poll()과 같은 비 차단 IO가 지원되는지 궁금합니다.

의견이 있으십니까?

답변

5
+0

나를 위해 완벽하게 보입니다. 고맙습니다 .-D – cdecker

+0

첫 번째 링크는 실제로 논 블로킹 I/O를 다루지 않습니다. 그러나 nio 패키지에 대한 링크가 유용 할 수 있습니다. –

1

물론. 응용 프로그램이 인터넷 사용 권한을 사용한다고 선언하면 NDK를 사용하여 C의 비 루트 사용자가 일반적으로 사용할 수있는 모든 일반 Linux 네트워킹 작업을 수행 할 수 있으며 그 중 누군가는 (아무도 당신을 이기지 못하는 경우) 에 대한 지원을 쓰는 것을 귀찮게했다.

글쎄, 한 가지 예외 : 이동 통신사는 아마도 들어오는 연결을 허용하지 않을 것이며 특별히 설정하지 않으면 대부분의 WiFi 라우터를 사용할 수 없습니다. 그러나 그것들은 안드로이드 자체의 문제가 아니라 인프라 문제입니다.

전경 UI를 제공하는 액티비티와 상태 표시 줄 아이콘만으로 백그라운드에서 실제 전송을 계속하기위한 서비스를 조합해야 할 수도 있습니다.