哪种网络推送通知最可靠的技术? [关闭]

Posted

技术标签:

【中文标题】哪种网络推送通知最可靠的技术? [关闭]【英文标题】:Which most reliable technology for push notification for the web? [closed] 【发布时间】:2017-02-14 05:40:27 【问题描述】:

我想在我的网络应用程序中为语音通话实现实时推送通知。我分析了 WebSockets、Long-polling、Firebase 和 Atmosphere。 Firebase 和 Atmosphere 都不可靠,对于 Atmosphere,有时推送无法到达浏览器;对于 Firebase,当令牌过期时,不会调用 onTokenRefresh 方法,因为浏览器端没有收到任何通知。

是否有其他可用的解决方案可以提供网络推送通知,例如 google hangout 或 Facebook 或 WhatsApp 通话?

【问题讨论】:

你想达到什么目的? 我想为我的网络应用程序创建音频通话功能。 【参考方案1】:

我会说这取决于您的服务器端。如果您的服务器能够维护 TCP 连接并且在某种程度上是有状态的,那么 WebSocket 是标准的方式,因为它是 IETF RFC。但是请记住两点:

    并非所有客户端都支持 WebSocket,因此它可能会派上用场,例如长轮询 ajax 等。有许多库专门针对该场景构建,例如 socket.io、SignalR 等。 没有互联网协议可以保证您的推送通知到达客户端,因为连接总是可以被他们关闭或由于连接不良。我的建议是:让客户为每个推送通知向您发送确认。如果您没有得到确认,则将消息视为未收到,并在客户端下次连接时重试。 (为此,您需要某种数据库)

在任何情况下都使用安全连接。无论您使用什么协议,它都应该有助于 TLS。

【讨论】:

以上是关于哪种网络推送通知最可靠的技术? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

网络推送通知不显示电脑是不是关闭或睡眠

Chrome的网络推送通知[关闭]

有啥方法可以将推送式网络通知发送到移动设备? [关闭]

工具/解决方案:面向用户的远程推送通知 iOS [关闭]

使用 azure 从网络到移动设备(跨平台)的网络/浏览器推送通知 [关闭]

有没有办法从 Google appengine 标准向网络浏览器发送推送通知? [关闭]