Example #1
0
 public void watekCzekajNaKlientow()
 {
     try
     {
         while (true)
         {
             Klient kli = new Klient();
             kli.tcpKlient = tcpLsn.AcceptTcpClientAbortable();
             lock (clientsList)
             {
                 if (connectId < long.MaxValue - 1)
                 {
                     Interlocked.Increment(ref connectId);
                 }
                 else
                 {
                     connectId = 1;
                 }
                 Console.WriteLine("połączono z: " + kli.tcpKlient.Client.RemoteEndPoint.ToString());
                 if (clientsList.Count < MaxClients)
                 {
                     while (clientsList.Contains(connectId))
                     {
                         Interlocked.Increment(ref connectId);
                     }
                     kli.watek      = new Thread(new ParameterizedThreadStart(watekCzytajZSocketa));
                     kli.watek.Name = "wątek czytający z socketa id: " + connectId.ToString();
                     clientsList.Add(connectId, kli);
                     kli.watek.Start(connectId);
                     PolaczenieUstanowioneEventArgs arg = new PolaczenieUstanowioneEventArgs(connectId, kli.tcpKlient.Client.RemoteEndPoint.ToString());
                     if (PolaczenieUstanowione != null)
                     {
                         PolaczenieUstanowione(this, arg);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("Wątek czekający na klientów dostał wyjątkiem: " + ex.Message);
     }
 }
Example #2
0
 void pol_PolaczenieUstanowione(object sender, PolaczenieUstanowioneEventArgs e)
 {
     AppendColoredText(richTextBox1, "Połączono z: ", Color.Red);
     AppendColoredText(richTextBox1, e.adres.ToString() + "\n", Color.Blue);
 }