2011-12-31 5 views
1

Android 장치에서 Apache 웹 서버로 센서 데이터를 보내려고합니다. 센서는 IOIO board을 사용하여 Android 기기에 연결되며 정기적 인 간격으로 샘플링됩니다.안드로이드 장치에서 Apache 웹 서버로 데이터를 효율적으로 보내는 방법

원시 센서 데이터는 약 1 바이트/초이며 Apache를 기반으로 PHP 및 ASP (ChiliASP)를 지원하는 웹 서버에이를 전송하는 효율적인 방법을 찾으려고합니다.

월간 비용이 저렴하기 때문에 선불 모바일 가입을 사용하고 있으며 일반적으로 고정 된 최대 데이터 한도 (500MB/월)가 있습니다.

센서가 24/7 데이터를 보내야하므로 필요한 데이터 트래픽을 최소한으로 유지하고 싶습니다. 데이터의 양이 그리 크지 않더라도 프로토콜 헤더의 오버 헤드가 문제가 될 수 있다고 생각합니다. 각 샘플 (1 바이트)이 개별적으로 전송되면 오버 헤드/페이로드 비율은 매우 낮습니다. 솔루션에서 일부 데이터를 집계하여 더 큰 덩어리로 보내야합니다.

  1. 얼마나 많은 오버 헤드가 인해 HTTP 헤더에 :

    나는 성공적으로 HTTP의 POST를 사용하여 데이터를 전송하고 이에 대한 몇 가지 질문을 가지고 자바 HttpURLConnection의를 테스트 한? 그것을 측정 할 수있는 쉬운 방법이 있습니까?

  2. 내가 고려할 수있는 Android 및 Apache가 지원하는 다른 프로토콜이 있습니까?

답변

0

간단한 HTTP GET/POST 요청을 사용하여 PHP 또는 다른 언어로 구현 된 웹 서비스의 매개 변수로 json 인코딩 된 데이터를 보낼 수 있습니다. 나는 그것이 get/post와 json (누군가가 나를 고칠 수 없다면)보다 간단하거나 더 작다고 생각하지 않는다. JSON은 데이터 교환을위한 훌륭하고 쉽고 유연한 형식이며 xml보다 훨씬 간단하고 간결합니다. JSON 구문 분석은 Java, JavaScript 및 PHP를 비롯한 대부분의 언어에서 기본적으로 사용할 수 있습니다. 또한 매우 널리 사용됩니다.

예를 들어, HTTP get 요청에는 보내려는 매개 변수의 길이를 제외하고 많은 오버 헤드가 없습니다. 다음은 일반적인 GET 요청입니다 :

GET /pub/WWW/TheProject.php?arg1=foo&arg2=bar HTTP/1.1 

arg1 & arg2

내가 TheProject.php에 전달하고있어 인수입니다.