Added Packet decoding functionality
This commit is contained in:
		
							
								
								
									
										38
									
								
								Program.cs
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								Program.cs
									
									
									
									
									
								
							@@ -18,5 +18,43 @@ using(UdpClient listener = new UdpClient(listenPort))
 | 
			
		||||
        //Console.WriteLine(Encoding.ASCII.GetString(receivedData));
 | 
			
		||||
        Console.WriteLine(BitConverter.ToString(receivedData));
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        var pos = 0;
 | 
			
		||||
        var header = Encoding.UTF8.GetString(receivedData, pos, 4);
 | 
			
		||||
        pos += 5; // Including tailing 0
 | 
			
		||||
 | 
			
		||||
        if (header == "DATA") // Ignore other messages
 | 
			
		||||
        {
 | 
			
		||||
            while (pos < receivedData.Length)
 | 
			
		||||
            {
 | 
			
		||||
                var id = BitConverter.ToInt32(receivedData, pos);
 | 
			
		||||
                pos += 4;
 | 
			
		||||
 | 
			
		||||
                try
 | 
			
		||||
                {
 | 
			
		||||
                    var value = BitConverter.ToSingle(receivedData, pos);
 | 
			
		||||
                    pos += 4;
 | 
			
		||||
                    // var localDataRefs = DataRefs.ToArray();
 | 
			
		||||
                    // foreach (var dr in localDataRefs)
 | 
			
		||||
                    //     if (dr.Update(id, value))
 | 
			
		||||
                    //         OnDataRefReceived?.Invoke(dr);
 | 
			
		||||
                    Console.WriteLine($"Header: {header}     Value: {value}");
 | 
			
		||||
                }
 | 
			
		||||
                catch (ArgumentException ex)
 | 
			
		||||
                {
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                catch (Exception ex)
 | 
			
		||||
                {
 | 
			
		||||
                    var error = ex.Message;
 | 
			
		||||
                    Console.WriteLine(error);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user