2017-04-11 3 views
1

현재 IoT 제품을 연구 중입니다. 제 질문은 어떻게 외부에 연결을 시작하고 포트 포워딩없이 응답을들을 수 있습니까?방화벽 뒤에서 응답 받기

동일한 네트워크 (@home)에서 알려진 포트에 간단한 udp 소켓을 사용하고 있습니다.

프로토콜/솔루션이 있습니까?

내가 지금 한 것은 Firebase Cloud Messaging을 사용하여 외부에 도달하는 것이지만 물론 스마트 폰은 IoT (현재 Json 요청)에 답할 수 없습니다.

IoT --> Cloud --> App 

하지만 난 FCM에 XMPP 요청을 사용하여이 문제를 해결 할 수 없습니다

Iot <-- Cloud <-- App 

?

최종 고객 제품에 대한 매일의 시나리오를 상상해보십시오.

+0

포트 포워딩이 없으면 연결을 조정하기 위해 클라우드 서버가 필요합니다. _ 누군가는 듣고 있어야하고 앱은 그것을 할 수 없습니다. –

+0

나는 firebase 알림 시스템 위에 브로커/클라이언트가있는 MQTT 서버를 생각하고있었습니다. – Luigi

답변

0

일부 Firebase 기능은 사용자가 장치에서 들어오는 포트를 열 필요없이 나가는 HTTPS 연결에서만 작동합니다. 이것의

한 예는 순전히 장치 에 중포 기지 서버에서 (웹) 소켓 연결 에 의존 안드로이드 SDK와 함께 제공되는 중포 기지 데이터베이스입니다. Firebase 데이터베이스에 대한 REST API는 웹 소켓 대신 일반 HTTP 요청을 사용한다는 점을 제외하면 동일한 인프라에서 작동합니다. 그러나 웹 소켓과 HTTP 요청은 모두 일반 HTTPS 포트 (443)를 통해 전달됩니다. 따라서 방화벽이 HTTP (S) 트래픽을 차단하지 않는 한이 방법이 효과적입니다.

이와 같은 시나리오에서는 Android 앱과 IoT 장치 간의 중개자로 Firebase 데이터베이스를 사용하게됩니다.

+0

나는 당신의 대답에 대해 잘 모르겠다. 나는 HTTP가 실제로 들어오는 트래픽에 대해 방화벽을 걸었다는 것을 의미했다. 포트 80 또는 443은 IoT 또는 전화 응용 프로그램에서 어딘가에 열려 있어야합니다. – Luigi