private void GetTrackingData() { Console.WriteLine("Waiting for DCS connection..."); TcpClient client = dcsConnection.AcceptTcpClient(); Console.WriteLine("DCS connected :-)"); StreamReader reader = new StreamReader(client.GetStream()); while (continueTracking) { string s = reader.ReadLine(); Console.WriteLine(s); if (s == "exit") { break; } aircraftPosition = new AircraftPosition().DeserializeJSON(s); aircraftPosition.SerializeToJSON(@"c:\posData.json"); UpdateAllLabels(); Thread.Sleep(300); } reader.Close(); client.Close(); }
// Whenever data is recieved from the sim this event is triggered void simConnect_OnRecvSimobjectDataBytype(SimConnect sender, SIMCONNECT_RECV_SIMOBJECT_DATA data) { switch ((DATA_REQUESTS)data.dwRequestID) { case DATA_REQUESTS.DataRequest: DataStructure s1 = (DataStructure)data.dwData[0]; aircraftPosition.Altitude = Math.Round(s1.altitude).ToString(); aircraftPosition.Heading = Math.Round(s1.heading).ToString(); aircraftPosition.AirSpeed = Math.Round(s1.tas).ToString(); aircraftPosition.coords.latitude = s1.latitude; aircraftPosition.coords.longitude = s1.longitude; // Serialize the data to JSON so the webserver can read it aircraftPosition.SerializeToJSON(@"c:\posData.json"); break; default: Console.WriteLine("Error receiving data from sim"); break; } UpdateAllLabels(); }