2017-11-13 12 views
-1

ID를 수신하고 데이터베이스의 데이터를 확인하는 HTTP RESTful API가 작동 중입니다. 레코드의 상태와 관련 레코드를 기반으로 상태 오류가 반환되거나 모든 준비가 완료되면 레코드에 대한 정보가 반환됩니다. 다른 기능도 있지만 문제는 WiFi에 액세스 할 수없는이 데이터를 수집하기 위해 사용하는 장치입니다. 2G 셀룰러 솔루션을 테스트 할 계획이지만 HTTP 요청은 너무 느릴 것입니다. 완료됩니다.COAP, MQTT 또는 기타 경량 프로토콜을 사용하는 RESTful API

내 장치가 36 char UUID를 서버에 보내고 JSON 응답을 다시받을 수있는 경량 프로토콜은 무엇입니까? 나는 MQTT와 COAP에 대한 정보를 탐색 해왔다. 그러나 다른 장치에 레코드의 특정 ID를 묻는 것에 대해서는 하드웨어의 상태를 묻는 것과 같은 많은 정보를 보지 못했다.

또한 기존 API와 인터페이스 할 수있는 솔루션이 있다면 이상적입니다.

도움 주셔서 감사합니다.

+0

응답의 크기는 얼마나됩니까? – hardillb

답변

0

2G 셀룰러 솔루션이 HTTP (S)와 잘 어울리지 않는 이유는 확실하지 않습니다.

다른 SO answer에 따라 HTTP의 크기는 다음과 같습니다

요청 헤더 오늘 이상 2킬로바이트에 ~ 200 바이트의 크기 을 다릅니다. 응용 프로그램이 더 많은 쿠키를 사용함에 따라 및 사용자 에이전트는 기능을 확장하므로 전형적인 헤더 크기는 700-800 바이트입니다. 은 일반적인입니다.

그리고 wiki에 따르면 최대 40kbps를 얻을 수 있습니다. 이 시나리오에서 http (s)를 사용하여 문제가 무엇인지 잘 모르겠습니다.

UDP와 같은 것을 사용하면 더 빠르지 만 작을 수 있지만 패킷 손실 가능성으로 인해 HTTP만큼 신뢰할 수 없습니다. 물론 gzip이나 다른 형태의 압축을 HTTP 요청에 적용하여 더 작게 만들 수도 있습니다.

데이터가 간격으로 1 개 주 HTTP 요청을 로컬 DB에 특정 시간에 모든 데이터를 저장, 당신이 시간당 또는 반나절 일괄 업로드를 할 수있는 지금 당장 필요하지 않은 경우 부분 업데이트

그 조금 더 크지 만 모든 데이터가 포함됩니까? 귀하의 요구 사항은 무엇인지 잘 모르겠지만 HTTP는 2G 이상의 경우에 적합해야합니다.