/// <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(); }
static void Main(string[] args) { args = Environment.GetCommandLineArgs(); new Thread(() => { Thread.Sleep(1000); try { lock (Program.waiterConfig) { //Monitor.Wait(Program.waiterConfig); //String config = String.Concat(File.ReadAllLines("./../../../../sharedResources/tsst_config.xml")); //ConfigLoader.LoadConfig(config, "1"); String config = String.Concat(File.ReadAllLines(args[1])); ConfigLoader.LoadConfig(config, args[2]); lock (Program.waiterManagement) { Monitor.Pulse(Program.waiterManagement); } } } catch (Exception e) { GUIWindow.PrintLog(e.StackTrace); } }).Start(); new Thread(() => { lock (Program.waiterManagement) { Monitor.Wait(Program.waiterManagement); } new ManagementCenterConnection(); }).Start(); new Thread(() => { lock (Program.waiterCloud){ Monitor.Wait(Program.waiterCloud); } cloudConnection = new CloudConnection(); }).Start(); new Thread(() => { Thread.Sleep(2500); /*lock (Program.waiterCloud) { * Monitor.Wait(Program.waiterCloud); * }*/ cpcc = new CPCC(); }).Start(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new GUIWindow()); }
//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 startService() { client.startService(); cpcc = new CPCC(log, client.CloudIP, client.CloudPort, client.name, client.nodeName, client.networkController); cpcc.OnNewConnectionEstablished += new CPCC.NewConnection(newConnection); }