/// <summary> /// Konstruktor komunikatora /// </summary> /// <param name="ipepNaId">Mapowanie punktu kontatku (adres IP,Port) do /// Identyfikatora rozmowcy wszystkich kontaktow uzytkownika</param> public Komunikator(Dictionary<string, IPAddress> mapa_ID_PunktKontaktu, Ustawienia ustawienia) { //inicjalizacja i wypelnianie mapowan pochodnych mapownik = new Mapownik(mapa_ID_PunktKontaktu); foreach (var i in mapa_ID_PunktKontaktu) { dostepnosc.Add(i.Key, false); } int port; if(ustawienia.SSLWlaczone) { port = portSSL; centrala = new CentralaSSL(mapownik , port ,ustawienia.Certyfikat) ; } else { port = portBezSSL; centrala = new Centrala(mapownik, port); } pingacz = new Pingacz(centrala, dostepnosc); nasluchiwacz = new Nasluchiwacz(port); centrala.NowePolaczenieOdNas += centrala_NowePolaczenieOdNas; centrala.NowePolaczenieDoNas += centrala_NowePolaczenieDoNas; centrala.ZamknietoPolaczenie += centrala_ZamknietoPolaczenie; protokol = new Protokol(centrala, mapownik, ustawienia); }
public Pingacz(Centrala centrala, Dictionary<string, bool> dostepnosc) { this.centrala = centrala; this.dostepnosc = dostepnosc; this.timer = new Timer(); timer.Elapsed += timer_Elapsed; timer.Interval = 5000; }
const int DlugoscNaglowka = 5; // 1 bajt na rodzaj komunikatu, 4 na dlugosc public Protokol(Centrala centrala, Mapownik mapownik, Ustawienia ustawienia) { this.wiadomosciownia = new Wiadomosciownia(centrala, new CzytanieSkonczone(czekajNaZapytanie)); ; foreach (var i in mapownik.WszystkieId) { wiadomosciownia.DodajUzytkownika(i); } this.ustawienia = ustawienia; this.centrala = centrala; this.mapownik = mapownik; }
public Wiadomosciownia(Centrala centrala, CzytanieSkonczone czytanieSkonczone) { this.centrala = centrala; this.czytanieSkonczone = czytanieSkonczone; }