예제 #1
0
        /// <summary>
        /// Bir istemciden mesaj alýndýðýnda ilgili olay bu fonksyonu çaðýrýr
        /// </summary>
        /// <param name="e">Mesaj ve Ýstemci parametreleri</param>
        private void mesajAlindi(IstemcidenMesajAlmaArgumanlari e)
        {
            //Gelen mesajý & ve = iþaretlerine göre ayrýþtýr
            NameValueCollection parametreler = mesajCoz(e.Mesaj);

            //Ayrýþtýrma baþarýsýzsa çýk
            if (parametreler == null || parametreler.Count < 1)
            {
                return;
            }
            //Ayrýþtýrma sonucunda komuta göre gerekli iþlemleri yap
            try
            {
                switch (parametreler["komut"])
                {
                case "giris":
                    //parametreler: nick
                    komut_giris(e.Istemci, parametreler["nick"]);
                    break;

                case "ozelmesaj":
                    //parametreler: nick, mesaj
                    komut_ozelmesaj(e.Istemci, parametreler["nick"], parametreler["mesaj"]);
                    break;

                case "toplumesaj":
                    //parametreler: mesaj
                    komut_toplumesaj(e.Istemci, parametreler["mesaj"]);
                    break;

                case "cikis":
                    //parametreler: YOK
                    komut_cikis(e.Istemci);
                    break;
                }
            }
            catch (Exception)
            {
            }

            //Mesajý 'Son Gelen 10 Mesaj' listesine en baþa ekle
            lstSon10Mesaj.Items.Insert(0, "[" + e.Istemci.IstemciID.ToString("0000") + "] " + e.Mesaj);
            //Listedeki mesaj sayýsý 10'u geçmiþse sondan sil.
            if (lstSon10Mesaj.Items.Count > 10)
            {
                lstSon10Mesaj.Items.RemoveAt(10);
            }
        }
예제 #2
0
 private void sunucu_IstemcidenYeniMesajAlindi(IstemcidenMesajAlmaArgumanlari e)
 {
     Invoke(new dgIstemcidenYeniMesajAlindi(mesajAlindi), e);
 }