private void Krosuj() { Siec_Data data = new Siec_Data(Network); String pakiet = null; int portOut = 0; int deltaLambda = 0; String[] header = new String[5]; while (true) // oczekiwanie na możliwość rozpoczęcia(na true od agenta) { Thread.Sleep(500); if (connected) { break; } } while (connected) { for (int i = 0; i < header.Length; i++) // zerowanie tablicy headera { header[i] = "00"; } Console.WriteLine("\nOdczyt danych."); // wlasciwy odczyt danych pakiet = data.Receive_Data()[0]; header = ExtractHeader(pakiet); // odczyt naglowka foreach (String s in connTable) //przeszukiwanie tablicy kierowania { Console.WriteLine("wejscie: " + pakiet.Substring(0, 10) + " a connTable: " + s); //umozliwia wzrokowe porownanie naglowka tego co przyszlo z connTable if ((s.Substring(0, 2).Equals(header[0]) && (s.Substring(4, 2).Equals(header[2])))) //jesli zgodne portIn i f1, czyli polaczenie odnalezione, ustaw portOut(ostatnia linijka) { Console.WriteLine("połączenie odnalezione"); deltaLambda = 0; if (!s.Substring(8, 2).Equals("00")) //jesli pole nowe f1 niepuste wykonaj konwersje lambd { deltaLambda = Convert.ToInt32(s.Substring(8, 2)) - Convert.ToInt32(s.Substring(4, 2)); // pozyskaj przesuniecie czestotliwosci } portOut = Convert.ToInt32(s.Substring(3, 1)); // jesli odnajdziesz portIn z naglowka w tabeli polaczen, uzyj go //Console.WriteLine("ustawilem portout na: " + portOut); } } if (portOut != 0) // zabezpieczenie przed wysylaniem do chmury ślepych pakietów, z portOut=0 { String [] pakietTab = new String[1]; pakietTab[0] = pakiet; data.Send_Data(ReplaceHeader(pakietTab, header, portOut, deltaLambda)); } portOut = 0; } }
//private Siec_Data data = null; public Test(Siec_Init Network) { czlonek = null; //czlonek.Insert(0, "010203"); //czlonek[1].Insert(0, "kikakikakiaka"); //czlonek[2].Insert(0, "balcer ma slaba glowe"); //czlonek[3].Insert(0, "piter ma zla deserializacje"); //czlonek[4].Insert(0, "karolina jest najladniejsza na swiecie"); Siec_Data data = new Siec_Data(Network); this.Network = Network; //data.Send_Data(czlonek); }