private async Task ReadMessage() { WebSocketReceiveResult result; var message = new ArraySegment <byte>(new byte[4096]); do { result = await client.ReceiveAsync(message, cts.Token); if (result.MessageType != WebSocketMessageType.Text) { break; } var messageBytes = message.Skip(message.Offset).Take(result.Count).ToArray(); string receivedMessage = Encoding.UTF8.GetString(messageBytes); BitsoTradeDataModel bookData = JsonConvert.DeserializeObject <BitsoTradeDataModel>(receivedMessage); if (!string.IsNullOrEmpty(bookData.Book)) { OnTradeMessage?.Invoke(bookData, bookData.Book); } }while (!result.EndOfMessage); }
private void OnTrade(object sender, string book) { BitsoTradeDataModel bookData = sender as BitsoTradeDataModel; timeTrading = DateTime.Now; CoinMath(bookData.Payload, coinsData[book]); }