используя 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);
}
}
, как вы видите, я ' m в настоящее время использует SendAsyn c, но хочет заменить его на потоки. Я не знаю, как передать данные SendTempData в GetData здесь.