/// <summary>
        /// zmienne odczytywane z comboBoxe'a przy zestawianiu połączenia,
        /// inicjuje je tu by do rozłączania połączenia nie używać danych odczytywanych z comboboxa
        /// tylko żeby brać te same wartości co zestawione połączenie
        /// </summary>
        //public static string destination, demandedCapacity;


        /// <summary>
        /// Konstruktor obiektu z klasy ClientApplication
        /// </summary>
        /// <param name="ClientIP">IP aplikacji klienckiej</param>
        /// <param name="ClientPort">Port aplikacji klienckiej</param>
        /// <param name="CloudPort">Port chmury</param>
        public ClientApplication(string ClientIP, string ClientPort, string CloudPort)
        {
            //Ustawienie CultureInfo na en-US spowoduje wyświetlanie się wyłapanych Exceptions w języku angielskim
            // Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
            //Zainicjowanie okna WindowsForm
            InitializeComponent();
            //Przypisanie referencji na dany obiekt
            _ClientApplication = this;
            //Przypisanie obiektowi IP aplikacji klienta, które zostało przekazane przez konstruktor z okna poziomu StartClientApplication
            this.ClientIP = ClientIP;
            //Przypisanie obiektowi Portu aplikacji klienta, które zostało przekazane przez konstruktor z okna poziomu StartClientApplication
            this.ClientPort = ClientPort;
            //Przypisanie obiektowi Portu chmury, które zostało przekazane przez konstruktor z okna poziomu StartClientApplication
            this.CloudPort = CloudPort;
            //Inicjalizacja listy zawierajacej ip klientów
            clientsiplist = new List <string>();
            //Inicjalizacja listy zawierajacej ip chmury, przez które będą łączyć się apliakcje klienckie
            cloudsiplist = new List <string>();
            //Liczba klientów - pobrana z pliku konfiguracyjnego
            int NbOfClients = Int32.Parse(ConfigurationManager.AppSettings[0]);

            //Odczytywanie z pliku konfiguracyjnego
            for (int i = 1; i <= NbOfClients; i++)
            {
                //String niezbędny do porównania IP, a później odpowiedniego nazwania aplikacji
                string temp  = "ClientIP" + (i - 1);
                string temp2 = "ClientIP" + (i - 1) + (i - 1);

                //Dodawanie odczytanych IP aplikacjji klienckich do listy
                cloudsiplist.Add(ConfigurationManager.AppSettings[i + 2 * NbOfClients]);
                //Sprawdzenie czy wpisane IP w StartClientApplication jest takie samo IP w pliku konfiguracyjnym
                if (ConfigurationManager.AppSettings[i] == _ClientApplication.ClientIP)
                {
                    //Nadanie nazwy aplikacji - zgodnie z odczytanym IP z pliku konfiguracyjnego
                    string tempstring = ConfigurationManager.AppSettings[temp2];
                    _ClientApplication.Text = tempstring;
                    ClientName = tempstring;
                    //Dodanie IP klienckiej aplikacji do list
                    clientsiplist.Add(ConfigurationManager.AppSettings[i]);
                }
                else
                {
                    //Dodanie IP klienckiej aplikacji do listy
                    clientsiplist.Add(ConfigurationManager.AppSettings[i]);
                    //Dodanie IP aplikacji kliencjiej do listy
                    _ClientApplication.comboBoxClients.Items.Add(ConfigurationManager.AppSettings[temp2]);
                }
            }

            _CPCC = new CPCC(_ClientApplication.ClientIP, ClientName, ref _ClientApplication);
            _CPCC.runCPCC();
        }
예제 #2
0
        private void buttonStartClient_Click(object sender, EventArgs e)
        {
            ClientIP   = textBoxClientIP.Text;
            ClientPort = textBoxClientPort.Text;
            CloudPort  = textBoxCloudPort.Text;


            _StartClientApplication.Hide();
            var ClientApplicationForm = new ClientApplication(ClientIP, ClientPort, CloudPort);

            ClientApplicationForm.Closed += (s, args) => _StartClientApplication.Close();
            ClientApplicationForm.Show();
        }
예제 #3
0
 //Konstruktor obiektu klasy CPCC
 public CPCC(string OurClientIP, string name, ref ClientApplication ap)
 {
     ClientIP           = OurClientIP;
     _clientApplication = ap;
     ClientName         = name;
     _cpcc = this;
     establishedConnections = new List <string>();
     establishedConnections.Add("Franek");
     establishedConnections.Add("127.0.0.2");
     establishedConnections.Add("Janek");
     establishedConnections.Add("127.0.0.4");
     establishedConnections.Add("Szymon");
     establishedConnections.Add("127.0.0.6");
 }
        private void buttonStartClient_Click(object sender, EventArgs e)
        {
            ClientIP = textBoxClientIP.Text;
            if (ClientIP == "127.0.0.2" || ClientIP == "127.0.0.4" || ClientIP == "127.0.0.6")
            {
                ClientPort = textBoxClientPort.Text;
                CloudPort  = textBoxCloudPort.Text;


                _StartClientApplication.Hide();
                var ClientApplicationForm = new ClientApplication(ClientIP, ClientPort, CloudPort);
                ClientApplicationForm.Closed += (s, args) => _StartClientApplication.Close();
                ClientApplicationForm.Show();
            }
            else
            {
                MessageBox.Show("Enter yours IP again", "Important Message.",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
            }
        }