从 Web api 向 UWP 应用程序广播消息
Broadcasting message from web api to UWP app
服务器将是 .Net 中的 Web API,客户端是 UWP app.There 一些消息连同到期时间一起存储在数据库中,deviceId.Each 消息应该被广播在 time.How 到期时发送到设备我们能否保持从 Web API 到 UWP 的持久连接以及我们如何提前将消息广播到特定的 device.Thanks 以获得所有建议!
适合您的情况的最佳解决方案是 WebSockets
。这些允许您在您的应用程序和 API 之间实现轻量级双向连接并在它们之间发送数据。关于 WebSockets 的 UWP 实现的信息是 here in documentation,对于服务器端,您可以使用 ASP.NET SignalR 例如。
如果你会signalR(这将是一个很好的解决方案)我建议你阅读:
https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-server
简单地在服务器上创建一个集线器。然后每个客户端都应该连接到这个集线器。建立连接后,您可以双向发送消息。
以下是从服务器向客户端发送消息的一些可能性:
向所有连接的客户端发送消息:
Clients.All.addNewMessageToPage(姓名, 留言);
致特定客户:
Clients.Client(Context.ConnectionId).addContosoChatMessageToPage(名称,
消息);
还有很多其他的可能性,比如组。
服务器将是 .Net 中的 Web API,客户端是 UWP app.There 一些消息连同到期时间一起存储在数据库中,deviceId.Each 消息应该被广播在 time.How 到期时发送到设备我们能否保持从 Web API 到 UWP 的持久连接以及我们如何提前将消息广播到特定的 device.Thanks 以获得所有建议!
适合您的情况的最佳解决方案是 WebSockets
。这些允许您在您的应用程序和 API 之间实现轻量级双向连接并在它们之间发送数据。关于 WebSockets 的 UWP 实现的信息是 here in documentation,对于服务器端,您可以使用 ASP.NET SignalR 例如。
如果你会signalR(这将是一个很好的解决方案)我建议你阅读:
https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-server
简单地在服务器上创建一个集线器。然后每个客户端都应该连接到这个集线器。建立连接后,您可以双向发送消息。
以下是从服务器向客户端发送消息的一些可能性:
向所有连接的客户端发送消息:
Clients.All.addNewMessageToPage(姓名, 留言);
致特定客户:
Clients.Client(Context.ConnectionId).addContosoChatMessageToPage(名称, 消息);
还有很多其他的可能性,比如组。