嗯,我继续使用我的Phonegap应用程序开发处于一种两难境地:对于实时事件通知,我应该使用Azure Notification Hub还是SignalR?
根据我的理解,SignalR通过使用Web套接字适用于实时Web应用程序。而通知中心可以轻松地跨多个平台发送推送通知。 为了便于回复,让我解释一下我目前拥有的结构以及我的应用程序应该做什么。
该应用程序: 它基本上是一个用户可以创建组并邀请其他用户的应用程序。用户还可以组成一个小组" online"所以其他用户可以进入"群组。当该群组在线且用户已进入时,他们可以发送问题,交换消息等。
需要: 当用户在组中提问或进入/离开组时,其他用户需要在应用屏幕中看到新用户。我可以在服务器上进行轮询以检查并更新UI,但这是现代人不允许的。我对这个主题的搜索引出了两件事:SignalR和NotificationHub。
目前的架构: 客户 - >带有backbone.js的PhoneGap应用程序。 后端 - >带有实体框架和Azure Sql Server的Asp.NET Web API。
我已经考虑过使用通知集线器和标签了。 例如,当用户进入在线组时,它会向服务器发送一个请求以注册" grouplisten:{groupId}"标签。然后,服务器将标签注册到用户的设备,并使用标签" grouplisten:{groupId}"向所有其他设备发出通知,以便其他用户使用最近的更新UI加入了用户。此外,当用户离开组时,它向服务器发送请求以删除" grouplisten:{groupId}"标记并通知设备" grouplisten:{groupId}"。但是通过这个简单的例子,看起来这样会变得无法管理。
答案 0 :(得分:11)
这两种技术在移动平台上都有其优点和缺点:
优点:
缺点:
优点:
缺点: