2014-01-17 3 views
0

같은 네트워크의 다른 컴퓨터에서 실행중인 c 데몬에 명령 (또는 더 나은 데이터)을 전달하는 Android 앱을 작성 중입니다. 네트워크 가끔은 미래에),하지만 나는 최선의 방법 (또는 프로토콜)을 선택하는 데 문제가 있습니다.안드로이드 앱에서 리눅스 데몬으로 통신하는 가장 좋은 방법

일종의 API (PHP, Python 등)와 통신하는 것은 실제로 옵션이 아닙니다. (아마 내가 잘못되었습니다.) 데이터가 시간이 중요하기 때문에 가능한 가장 빠른 방법이어야합니다. http와 데몬과 APP 사이의 오버 헤드를 피하려고합니다. 반면에 데몬은 로컬에서 실행중인 PHP 스크립트에서도 액세스 할 수 있어야합니다 (나중에 API가 있어야하므로 추가 "계층"이 중요하지 않습니까?). API 솔루션을 선택하더라도 가장 좋은 방법은 무엇입니까? 소켓, 일반 IPC?

유사한 상황에서 어떤 제안이나 경험이 도움이 될 것입니다.

답변

1

당신의 질문에 그것은 시간이 중요하다고 말하지만 그것은 또한 같은 네트워크 아래에있다. 응용 프로그램에 성능상의 문제가없는 한 시간에 대해서는 아무런 문제가 없습니다. 그것은 또한 당신의 데몬에 의존합니다.

원격 데몬과 TCP 소켓이 항상 좋은 선택이었습니다. 소켓을 사용해야 할 경우 Service을 구현할 것인지 선택해야합니다. 제한된 작업 인 경우 AsyncThread 또는 Thread이면 앱의 모든 라이프 사이클이 살아 있어야합니다.

socket = new Socket(); 
socket.connect(new InetSocketAddress(host, port), timeout); 

in = new BufferedReader(new InputStreamReader(socket.getInputStream(), "ISO-8859-1")); 
:

내가 예를 들어, 사용하는 것입니다
관련 문제