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