c # websockets - Продолжайте отправлять сообщения каждые X секунд, ожидая получения сообщения в том же websocket. - PullRequest
0 голосов
/ 08 октября 2018

каждый!

Я хочу отправлять некоторые данные, привязанные к временной шкале (так что это просто словарь <\ DateTime, MyData>) каждую X секунду (не имеет значения), пока клиент не говорит мненачать отправку заново, но с другого времени начала.

Итак, сценарий выглядит следующим образом

Client : Please, start send me data which is > DateTime1
Server: Sure! Catch! 
Server: <DateTime1, Data1>, 
Server: <DateTime1.AddSeconds(1), Data2>, 
..., 
Server: <DateTime1.AddSeconds(X), DataX>

Client : Please, start send me data which is > DateTime2
Server : Sure! Catch! 
Server: <DateTime2, Data1>, 
Server: <DateTime2.AddSeconds(1), Data2>, 
..., 
Server: <DateTime2.AddSeconds(X), DataX>

Я понимаю, как отправлять данные через веб-сокеты каждые X секунд, но не могу себе представить, как ждать новых инструкций клиента одновременно,Таким образом, любые статьи / советы будут оценены.

Заранее спасибо.

UPD: Код отправки данных:

private async Task PushData(WebSocket webSocket, Dictionary<DateTime, List<Data>> dataPerSecond)
    {
        var dataPerSecondSerialized = JsonConvert.SerializeObject(dataPerSecond);
        var bytes = Encoding.UTF8.GetBytes(dataPerSecondSerialized);

        await webSocket.SendAsync(new ArraySegment<byte>(bytes, 0, bytes.Length), WebSocketMessageType.Text, true,
            CancellationToken.None);
    }

и этот метод вызывается через некоторое время-переключение с Thread.Sleep () после него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...