/// <summary> /// The listener starts to wait for messsages from the miniserver /// </summary> private void BeginListening() { if (Listener != null) { TokenSource.Cancel(); Listener = null; } Listener = Task.Run(async() => { while (WebSocket.State == WebSocketState.Open) { WebserviceResponse response = await ReceiveWebsocketMessage(1024, TokenSource.Token); if (!HandleWebserviceResponse(response) && !ParseEventTable(response.Content, response.Header.Type)) { OnReceiveMessge?.BeginInvoke(WebSocket, new MessageReceivedEventArgs(response), null, null); } await Task.Delay(10); } }, TokenSource.Token); }