有哪些选项可以“推送”到互联网连接设备?

Posted

技术标签:

【中文标题】有哪些选项可以“推送”到互联网连接设备?【英文标题】:What options are there to "push" to internet connected devices? 【发布时间】:2013-05-25 18:07:54 【问题描述】:

我正在开展一个项目,该项目涉及在各种互联网连接设备(例如电话、计算机、家庭自动化设备等)上触发操作。有哪些技术/一般操作可用于连接此类设备?根据我有限的知识,我可以想到所有设备的持续轮询,或者使用长时间的 HTTP 连接(我相信这与 Facebook 的通知方式类似)。

我还有什么其他选择?有哪些框架?从服务器想要联系设备到实际联系设备的时间,哪个选项最好?哪个选项最能延长设备的电池寿命?

【问题讨论】:

【参考方案1】:

就电池寿命而言,没有什么能比普通 TCP 套接字连接更好的了。如果您可以通过单个连接完成所有设备的轮询,那么除了每 x 秒几个字节的 keepalive 数据包(您可能应该在 TCP 堆栈中启用或作为协议的一部分生成)之外,几乎没有开销。与 Apple 用于 ios 通知的类似。

如果您处于套接字通信可能被防火墙阻止的环境中,我会选择带有长轮询后备的 websockets(您在问题中提到)。结合代理支持,这应该能够轻松穿越任何防火墙。

【讨论】:

以上是关于有哪些选项可以“推送”到互联网连接设备?的主要内容,如果未能解决你的问题,请参考以下文章

边缘计算网关有哪些优势特点

可以在局域网中使用android推送通知吗?没有互联网[关闭]

Netty IoT百万长连接优化

什么是物联网?有哪些应用?终于有人讲明白了

没有互联网连接时如何将gps位置存储到android中的服务器

适用于 Android 的 Firebase 推送通知