SignalR同时流式传输

问题描述 投票:0回答:1

使用SignalR,您可以分别进行服务器到客户端和客户端到服务器的流传输。是否可以同时同时进行两种方式?

假设我们有一些来自IoT设备的传感器数据,一旦在服务器上接收到它,我们便希望将其广播到其他设备。使用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
1个回答
0
投票

我发现SignalR没有双向流,因此您需要使用gRPC等其他技术。

© www.soinside.com 2019 - 2024. All rights reserved.