示例#1
0
        /// <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);
                 
        }
示例#2
0
        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;
        }
示例#3
0
 public Centrala(Mapownik mapownik, int port) {
     this.mapownik = mapownik;
     this.port = port;
 }
示例#4
0
 public CentralaSSL(Mapownik mapownik, int port ,X509Certificate2 certyfikat):base(mapownik, port)
 {
     this.certyfikat = certyfikat;
 }