所有人!
我想每X秒发送一次绑定到时间轴的数据(所以它只是一个Dictionary <\ DateTime,MyData>)(没关系),而客户端不是说我要重新发送它,而是从不同的开始时间。
所以,这个场景有点像
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秒通过websocket发送数据,但是无法想象如何同时等待客户端的新指令。因此,任何文章/建议将不胜感激。
谢谢。
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);
}
,此方法在while循环内调用,其后是Thread.Sleep()。