コード例 #1
0
        public void watekCzytajZSocketa(object id)
        {
            long      realId    = (long)id;
            TcpClient tcpclient = ((Klient)clientsList[realId]).tcpKlient;

            while (true)
            {
                if (tcpclient.Connected)
                {
                    try
                    {
                        GameInfo          odebranyKom = (GameInfo)bf.Deserialize(tcpclient.GetStream());
                        GameInfoEventArgs arg         = new GameInfoEventArgs();
                        arg.gi     = odebranyKom;
                        arg.connId = realId;
                        Console.WriteLine(odebranyKom);
                        if (KomunikatPrzybyl != null)
                        {
                            KomunikatPrzybyl(this, arg);
                        }
                    }
                    catch (SerializationException)
                    {
                        break;
                    }
                    catch (Exception)
                    {
                        if (!tcpclient.Connected)
                        {
                            break;
                        }
                    }
                }
            }
            lock (clientsList)
            {
                clientsList.Remove(realId);
            }
            PolaczenieZerwaneEventArgs arg2 = new PolaczenieZerwaneEventArgs(realId);

            if (PolaczenieZerwane != null)
            {
                PolaczenieZerwane(this, arg2);
            }
        }
コード例 #2
0
 void pol_PolaczenieZerwane(object sender, PolaczenieZerwaneEventArgs e)
 {
     AppendColoredText(richTextBox1, "Połączenie o id: " + e.idPolaczenia + " zerwane" + "\n", Color.Red);
 }
コード例 #3
0
ファイル: Form3.cs プロジェクト: MartinKroc/memory-game
 void pol_PolaczenieKlientZerwane(object sender, PolaczenieZerwaneEventArgs e)
 {
     AppendColoredText(richTextBox1, "Połączenie klienta o id: " + e.idPolaczenia + " zerwane" + "\n", Color.Red);
     klientOdlaczAsync(this); //wołana metoda bezpiecznej zmiany na formatce (ponieważ ten wątek nie jest właścicielem formatki).
 }