服务器将是.Net中的Web API,客户端是UWP应用程序。数据库中存储了一些消息以及到期时间和设备 ID。每条消息都应在过期时广播到设备。我们如何保持从 Web API 到 UWP 的持久连接,以及如何将消息广播到特定设备。提前感谢所有建议!
如果你会发出信号R(这将是一个很好的解决方案(,我建议你阅读:
https://learn.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-server
只需在服务器上创建一个集线器。然后,每个客户端都应连接到此中心。建立连接后,您可以双向发送消息。
以下是从服务器到客户端发送消息的一些可能性:
-
向所有连接的客户端发送消息:
Clients.All.addNewMessageToPage(name, message(;
-
对特定客户:
Clients.Client(Context.ConnectionId(.addContosoChatMessageToPage(name,消息(;
还有很多其他的可能性,比如团体。
适用于您的方案的最佳解决方案是 WebSockets
.这些允许你在应用和 API 之间实现轻量级双向连接,并在它们之间发送数据。有关 WebSockets 的 UWP 实现的信息位于文档中,例如,对于服务器端,可以使用 ASP.NET SignalR。