private async Task ReadTaskAsync() { do { var numberOfBytes = (uint)_buffer.Length; try { var bytesRead = await _serialPortStream.LoadAsync(numberOfBytes); if (bytesRead > 0) { _serialPortStream.ReadBytes(_buffer); var messages = OscPacket.GetPackets(_buffer, (int)bytesRead); foreach (var message in messages) { OscPacketReceived?.Invoke(this, new OscEventArgs(message)); } } } catch { await Task.Delay(1000); // do not care } }while (true); }
private void SocketMessageReceived(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs args) { using (var reader = args.GetDataReader()) { var data = new byte[reader.UnconsumedBufferLength]; reader.ReadBytes(data); try { var packet = OscPacket.GetPacket(data); if (packet != null) { OscPacketReceived?.Invoke(this, new OscEventArgs(packet)); } } catch (Exception) { // do not care } } }