android - 在防火墙后接收回复

标签 android firebase firebase-cloud-messaging firewall iot

我目前正在开发 IoT 产品。 我的问题是如何在没有端口转发的情况下启动与外部的连接并收听答案?

在同一网络 (@home) 中时,我在已知端口上使用简单的 udp 套接字。

是否有协议(protocol)/解决方案?

我目前所做的是使用 Firebase Cloud Messaging 与外部联系,但是智能手机当然无法回复 IoT(目前是 Json 请求)。

IoT --> Cloud --> App

但不是

Iot <-- Cloud <-- App

我可以通过在 FCM 中使用 XMPP 请求来解决这个问题吗?

您必须想象最终客户产品的日常场景。

最佳答案

某些 Firebase 功能仅适用于传出 HTTPS 连接,无需您在设备上打开传入端口。

这方面的一个例子是 Firebase 数据库,它附带一个 Android SDK,该 SDK 完全依赖于从设备到 Firebase 服务器的(网络)套接字连接。 Firebase 数据库的 REST API 在相同的基础架构中工作,除了它使用常规 HTTP 请求而不是 Web 套接字。但是 Web 套接字和 HTTP 请求都通过常规 HTTPS 端口 (443)。因此,除非您的防火墙阻止 HTTP(S) 流量,否则这种方法应该有效。

在这种情况下,您可以使用 Firebase 数据库作为 Android 应用和物联网设备之间的中介。

关于android - 在防火墙后接收回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43349780/

相关文章:

android - 应用程序应如何处理使用 "Clear Data"的情况?

android - 是否有一种 Android 设计模式可以在单个 Activity 中处理多个 fragment ?

ios - 来自 Unity 的 iOS 的 Google Firebase 构建错误

unity3d - unity firebase 通知自定义图片

firebase - 错误 : package com. google.firebase.messaging 不存在

android - 未知 AVD 名称,使用 -list-avds 查看有效列表

java - 如何发送带参数的查询

Android PubNub 未通过 FCM 接收推送通知

javascript - 无法解析 'angularfire2' - Angular 4

android - 使用通知样式 Firebase 云消息传递发送任意数据