/// <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); }
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 Centrala(Mapownik mapownik, int port) { this.mapownik = mapownik; this.port = port; }
public CentralaSSL(Mapownik mapownik, int port ,X509Certificate2 certyfikat):base(mapownik, port) { this.certyfikat = certyfikat; }