【问题标题】:SignalR vs Google Cloud Messaging [closed]SignalR 与谷歌云消息传递 [关闭]
【发布时间】:2016-10-11 09:45:42
【问题描述】:

我有一个托管在 Azure 上的基于 .Net 的后端服务器。我正在尝试使用 Xamarin 构建一个 android 应用程序。该应用程序将具有聊天功能,允许用户相互交流。 我一直在将 SignalR 用于简单的实时 Web 任务,并且我知道使用适用于 android 的 Google Cloud Messaging 可以实现很多相同的功能,但是我读到 SignalR 比 Google Cloud 更可靠。我更倾向于使用谷歌云消息服务,因为它不需要与后端的持续连接,因此可以节省电池时间。但我唯一的困境是我是否能够实现网络聊天。 这个想法是使用 SignalR for web 和 Google Cloud Messaging for the android。我需要确保两个聊天同步。有可能这样做吗?还是我应该同时使用 SignalR? 任何帮助表示赞赏!

【问题讨论】:

    标签: android google-cloud-messaging signalr


    【解决方案1】:

    是的,您可以在两个平台上使用 signalR。我也在我的应用程序中使用 signalR。甚至它给了我更好的服务,而不仅仅是谷歌云消息。我的一个 android 应用程序包括 signalR 和 GCM。当我的应用程序在前台时,我使用 signalR,当它进入后台时,我使用 GCM。对我来说仍然很稳定。你可以这样试试

    【讨论】:

    • 感谢您的回答!是的,使用 signalR 更有意义,但有些东西使用 signalR 无法实现或难以实现,而不是使用 GCM
    • 我同意你的观点,但 GCM 仍然不是那么可靠。它确实错过了每 10 次发送通知 1(根据我的经验)
    • 你好@Masum即使应用程序处于后台模式也可以单独使用信号器生成通知
    • @M.Yogeshwaran 我没有使用 signalR 作为背景。我以前只用于前台,但我相信如果您使用服务使用 signalR,那么您可以弄清楚。请记住,signalR 连接可能会在一段时间后丢失,因此您必须检查它何时丢失连接,然后您必须重新建立连接。显然,signalR 库为您提供了一个事件,您可以在其中检测到您的连接丢失。
    • singal r的电池消耗如何?它是否不断保持连接打开并耗尽用户的电池?
    【解决方案2】:

    不建议将 Google 云消息传递 (GCM) 用于制作聊天应用程序。你应该坚持使用 SignalR。谷歌云消息通常用于推送通知。

    如果你真的想使用 GCM,那么我会推荐你​​ FCM,但与 SignalR (&.net) 相比,它是一个单独的解决方案

    Firebase Cloud Messaging (FCM) 是 GCM 的新版本。它继承 可靠且可扩展的 GCM 基础架构,以及新功能!看 常见问题解答以了解更多信息。如果您要在新应用中集成消息传递, 从 FCM 开始。强烈建议 GCM 用户升级到 FCM, 以便从现在和未来的新 FCM 功能中受益。

    更新

    考虑到电池使用情况,GCM(或 FCM)将优于 signalR。

    【讨论】:

    • 我没有使用 FCM。但我想知道,当应用程序像 gcm 一样关闭时,FCM 是否工作?
    • 是的 FCM 是 GCM 的超集,并且运行在相同的基础架构上。使用 GCM 可以做的任何事情都可以使用 FCM。
    • 谢谢它的意义。
    猜你喜欢
    • 2012-09-06
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多