コード例 #1
0
ファイル: DCSForm.cs プロジェクト: HydroZA/FlightSimTracker
        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();
        }
コード例 #2
0
ファイル: MSFSForm.cs プロジェクト: HydroZA/FlightSimTracker
        // 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();
        }