static void Main(string[] args) { var client = new TcpClient(); client.Connect("192.168.191.99", 30003); var stream = client.GetStream(); var spt = new SimplePlaneTracker(); var sle = new StreamLineEmitter(stream); sle.Line += (sender, s) => { var message = BaseStation.Parse(s); spt.Consume(message); spt.Heartbeat(); Print(spt); }; sle.Start(); var mres = new ManualResetEventSlim(); mres.Wait(); }
private static void Print(SimplePlaneTracker spt) { Console.SetCursorPosition(0, 0); Console.WriteLine($"{"Hex",-7}{"Call",-8}{"Lat",-9}{"Long",-9}{"Since",-9}"); var now = DateTime.Now; foreach (var plane in spt.Planes) { Console.WriteLine( $"{plane.HexIdent,-7}{plane.Callsign,-8}{plane.Latitude,-9}{plane.Longitude,-9}{Math.Floor((now - plane.LastMessage).TotalSeconds),9}"); } }