【发布时间】:2020-02-15 01:27:12
【问题描述】:
使用 SignalR,您可以分别进行服务器到客户端和客户端到服务器的流式传输。 是否可以同时进行这两种方式?
假设我们有一些来自物联网设备的传感器数据,一旦我们在服务器上收到它,我们就想将它广播到其他设备。使用 IAsyncEnumerable 怎么办?
服务器到客户端集线器:
public async IAsyncEnumerable<string> GetTempData()
{
while (true)
{
await Task.Delay(1000);
yield return DateTime.Now.Second.ToString();
}
}
客户端到服务器
public async Task SendTempData(IAsyncEnumerable<string> lines)
{
await foreach (var line in lines)
{
await Clients.Others.SendAsync("GetData", line);
}
}
如您所见,我目前正在使用 SendAsync 但想用流替换它。 我不知道如何在这里将数据 SendTempData 传递给 GetData。
【问题讨论】:
标签: asp.net-core stream signalr streaming signalrcore