private void SendData(string fpm, string airspd, string plnPitch, string pnlBank, string windSpeed, string windHeading, string aircrftType, string aircraftID)
 {
     try
     {
         if (GlobalData.LoggedIn && GlobalData.CurrentConnectedLRMServer.Type == "LRMComp")
         {
             TCPJsonData data = new TCPJsonData()
             {
                 Auth   = GlobalData.Auth,
                 Header = "Landing_Data",
                 Body   = new Dictionary <string, string>()
                 {
                     { "Fpm", fpm },
                     { "Air_Speed", airspd },
                     { "Plane_Pitch", plnPitch },
                     { "Plane_Bank", pnlBank },
                     { "Wind_Speed", windSpeed },
                     { "Wind_Heading", windHeading },
                     { "Aircraft_Type", aircrftType },
                     { "Aircraft_ID", aircraftID }
                 }
             };
             //Send to master server
         }
     }
     catch (Exception ex)
     {
         GlobalData.ErrorLogInput(ex, "WARNING");
     }
 }
예제 #2
0
 private void button2_Click(object sender, EventArgs e)
 {
     try
     {
         if (_clientSocket.Connected)
         {
             TCPJsonData jdata = new TCPJsonData()
             {
                 Body   = new Dictionary <string, string>(),
                 Header = "Disconnect",
                 Auth   = GlobalData.Auth
             };
             GlobalData.sendJSONdata(jdata);
             _clientSocket.Shutdown(SocketShutdown.Both);
             _clientSocket.Close();
             if (!_clientSocket.Connected)
             {
                 label1.Text      = "Connected to: None";
                 label1.ForeColor = Color.Red;
                 //GlobalData.socket = null;
                 //MessageBox.Show("Disconnected!", "Disconnect message");
                 _clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
             }
             else
             {
                 MessageBox.Show("Failed to Disconnect.. :(", "Uh Oh!");
             }
         }
         else
         {
             _clientSocket.Shutdown(SocketShutdown.Both);
             _clientSocket.Close();
         }
     }
     catch (Exception ex)
     {
         //_clientSocket.Shutdown(SocketShutdown.Both);
         //_clientSocket.Close();
         //if (!_clientSocket.Connected)
         //{
         //    label1.Text = "Connected to: None";
         //    label1.ForeColor = Color.Red;
         //    GlobalData.socket = null;
         //    //MessageBox.Show("Disconnected!", "Disconnect message");
         //    _clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
         //}
         //else
         //{
         //    MessageBox.Show("Failed to Disconnect.. :(", "Uh Oh!");
         //}
     }
 }
예제 #3
0
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                TCPJsonData data = new TCPJsonData()
                {
                    Auth   = GlobalData.Auth,
                    Header = "Get_Servers",
                    Body   = new Dictionary <string, string>()
                };

                try { MasterServer.SendandRecieveTCPData(data); }
                catch (Exception ex) { GlobalData.ErrorLogInput(ex, "ERROR"); }
                byte[] buffer     = new byte[1024];
                int    Recievebuf = 0;// MasterServer.MasterServerSocket.Receive(buffer);
                byte[] databuff   = new byte[Recievebuf];
                Array.Copy(buffer, databuff, Recievebuf);
                string text = Encoding.ASCII.GetString(databuff);
                //var header = JsonConvert.DeserializeObject<Dictionary<string, string>>(text).FirstOrDefault(x => x.Key == "Header").Value;
                if (text.Contains("Header\":\"Server_Error"))
                {
                    if (GlobalData.Auth == "")
                    {
                        label2.Show();
                    }
                    else
                    {
                        TCPJsonData recdata = JsonConvert.DeserializeObject <TCPJsonData>(text);
                        MessageBox.Show($"Invalad Request! Server Responce:\n{recdata.Body.FirstOrDefault(x => x.Key == "Reason").Value}", "Uh Oh!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        GlobalData.ErrorLogInput(new Exception("Invalad Authentication Token!"), "ERROR");
                    }
                }
                if (text.Contains("Header\":\"LRMServers_List"))
                {
                    label2.Hide();
                    MasterServer.LRMServerClientListTCP serverListData = JsonConvert.DeserializeObject <MasterServer.LRMServerClientListTCP>(text);
                    if (serverListData.Auth == GlobalData.Auth)
                    {
                        serverList = serverListData.Body;
                        updataFormItems();
                    }
                }
                else
                {
                    MessageBox.Show("Unknown Server Responce!", "Uh Oh!");
                }
            }
            catch (Exception ex)
            {
                GlobalData.ErrorLogInput(ex, "WARNING");
            }
        }
예제 #4
0
        private void GetServers(object sender, EventArgs e)
        {
            if (GlobalData.Offlinemode)
            {
                label1.Hide();
                label5.Show();
                dataGridView1.Hide();
                button1.Hide();
                button2.Hide();
                button3.Hide();
                comboBox1.Hide();
                label2.Hide();
            }
            else
            {
                if (Visible)
                {
                    label2.Hide();
                    TCPJsonData data = new TCPJsonData();
                    data.Header = "Get_Servers";
                    data.Auth   = GlobalData.Auth;
                    byte[] sendBytes = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(data));
                    //MasterServer.MasterServerSocket.ReceiveTimeout = 5000;
                    try { MasterServer.SendandRecieveTCPData(data); }
                    catch (Exception ex) { MessageBox.Show("Could not Refresh sevrers. The Master Didnt Respond!", "Uh Oh!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
                    byte[] buffer     = new byte[1024];
                    int    Recievebuf = 0; //MasterServer.MasterServerSocket.Receive(buffer);
                    byte[] databuff   = new byte[Recievebuf];
                    Array.Copy(buffer, databuff, Recievebuf);
                    string text = Encoding.ASCII.GetString(databuff);

                    if (text.Contains("Header\":\"Server_Error"))
                    {
                        if (GlobalData.Auth == "")
                        {
                            label2.Show();
                        }
                        else
                        {
                            TCPJsonData recdata = JsonConvert.DeserializeObject <TCPJsonData>(text);
                            MessageBox.Show($"Invalad Request! Server Responce:\n{recdata.Body.FirstOrDefault(x => x.Key == "Reason").Value}", "Uh Oh!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            GlobalData.ErrorLogInput(new Exception("Invalad Authentication Token!"), "ERROR");
                        }
                    }
                    if (text.Contains("Header\":\"LRMServers_List"))
                    {
                        label2.Hide();
                        MasterServer.LRMServerClientListTCP serverListData = JsonConvert.DeserializeObject <MasterServer.LRMServerClientListTCP>(text);
                        if (serverListData.Auth == GlobalData.Auth)
                        {
                            serverList = serverListData.Body;
                            updataFormItems();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Unknown Server Responce!", "Uh Oh!");
                    }
                }
            }
        }
예제 #5
0
 private void button1_Click(object sender, EventArgs e)
 {
     //if(GlobalData.socket is null)
     {
         try
         {
             if (comboBox1.SelectedItem != null)
             {
                 KeyValuePair <string, string> KVP = (KeyValuePair <string, string>)comboBox1.SelectedItem;
                 if (KVP.Value != null)
                 {
                     _clientSocket.Connect(KVP.Value, 7878);
                     TCPJsonData jdata = new TCPJsonData()
                     {
                         Auth   = GlobalData.Auth,
                         Header = "Connect",
                         Body   = new Dictionary <string, string>()
                     };
                     jdata.Body.Add("Discord_Username", GlobalData.Username);
                     GlobalData.sendJSONdata(jdata);
                     label1.Text                  = "Connected to: " + KVP.Key;
                     label1.ForeColor             = Color.Green;
                     _clientSocket.ReceiveTimeout = 5000;
                     byte[] ResponceBuff = new byte[1024];
                     int    lng          = 0;
                     try { lng = _clientSocket.Receive(ResponceBuff); }
                     catch (Exception ex) { MessageBox.Show("Server Timed out!, Disconnecting!", "Uh Oh!", MessageBoxButtons.OK); GlobalData.ErrorLogInput(ex, "Sever Time Out!"); _clientSocket.Disconnect(true); return; }
                     byte[] recBytes = new byte[lng];
                     Array.Copy(ResponceBuff, recBytes, lng);
                     string      responce     = Encoding.ASCII.GetString(recBytes);
                     TCPJsonData responceData = JsonConvert.DeserializeObject <TCPJsonData>(responce);
                     if (responceData.Auth == GlobalData.Auth)
                     {
                         if (responceData.Header == "Success_Connect")
                         {
                             LRMServerData serv = new LRMServerData()
                             {
                                 Name         = responceData.Body.FirstOrDefault(x => x.Key == "Name").Value,
                                 Type         = responceData.Body.FirstOrDefault(x => x.Key == "Type").Value,
                                 PlayerCount  = responceData.Body.FirstOrDefault(x => x.Key == "Players").Value,
                                 serverSocket = _clientSocket,
                             };
                         }
                         else
                         {
                             MessageBox.Show("Server Responded with an Invalad Responce!", "Uh Oh!", MessageBoxButtons.OK);
                         }
                     }
                     else
                     {
                         MessageBox.Show("Server Responded with an Invalad Responce!", "Uh Oh!", MessageBoxButtons.OK);
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             GlobalData.ErrorLogInput(ex, "ERROR");
             MessageBox.Show("Error: " + ex.Message, "Uh Oh!");
         }
     }
 }
예제 #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (!GlobalData.LoggedIn)
            {
                if (!memloging)
                {
                    try
                    {
                        HttpListener l = new HttpListener();
                        l.Prefixes.Add("http://*****:*****@"\5Daddy Landing Monitor.exe.config");
                        if (Regex.IsMatch(filecont, "<!--" + memloginName + "|" + memloginToken + "-->"))
                        {
                            string newrplc = Regex.Replace(filecont, "<!--" + memloginName + "|" + memloginToken + "-->", string.Empty);
                            File.WriteAllText(Environment.CurrentDirectory + @"\5Daddy Landing Monitor.exe.config", newrplc);
                            button1.Text = "Login with Discord";
                        }
                    }
                }

                GlobalData.Username = "";
                GlobalData.LoggedIn = false;
                memloginToken       = "";
                memloginName        = "";
                memloging           = false;
                timer1.Enabled      = false;
                label4.Text         = "Not logged in..";
                label4.ForeColor    = Color.Red;
            }
        }