private void Server_DataReceived(object sender, SimpleTCP.Message e)
{
txtStatus.Invoke((MethodInvoker) delegate()
{
string[] parameters;
txtStatus.AppendText(Environment.NewLine);
txtStatus.AppendText(Environment.NewLine); // LOGGİNG İŞLEMİ BURADA YAPILDI
txtStatus.AppendText("Gelen İstek : ");
txtStatus.AppendText(e.MessageString);
string recievedMessage = e.MessageString; // SERVERİN DİNLEDİĞİ İP VE PORTA BİR MESAJ GÖNDERİLİRSE BURAYA DÜŞÜYOR VE RECİEVED MESSAGE DEĞİŞKENİNE ATILIYOR
parameters = recievedMessage.Split('#'); //BU ŞEKİLDE GELEN MESAJIN PARÇALANMASI SAĞLANDI
if (parameters[parameters.Length - 1] == "islem") // MESAJ HATALI DEĞİLSE HESAPLA FONKSİYONUNA GÖNDERİLDİ
{
if (parameters.Length != 4) // EĞER GELEN PARAMETRE DEĞERLERİ HATALIYSA...
{
MessageBox.Show("Gelen mesajın parametreleri hatalı. Lütfen kullanım şekile uygun olarak tekrar deneyiniz. Doğru Radiobuttonu seçtiğinizden emin olunuz", "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
result = calculation(parameters);
e.ReplyLine(string.Format("{0}#", result)); // İŞLEM SONUCU CLİENTA YANİ İSTEK ATAN KİŞİYE GÖNDERİLDİ
}
}
if (parameters[parameters.Length - 1] == "faktor") // MESAJ HATALI DEĞİLSE FAKTOR FONKSİYONUNA GÖNDERİLDİ
{
if (parameters.Length != 2) // EĞER GELEN PARAMETRE DEĞERLERİ HATALIYSA...
{
MessageBox.Show("Gelen mesajın parametreleri hatalı. Lütfen kullanım şekile uygun olarak tekrar deneyiniz. Doğru Radiobuttonu seçtiğinizden emin olunuz", "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
Thread facThread = new Thread(() => factorial(parameters));
facThread.Start(); //THREAD OLUŞTURUP FONKSİYONUMUZU YENİ THREADDE BAŞLATTIKTAN SONRA FONKSİYONUN İŞİNİ BİTİRMESİNİ BEKLEMEK İÇİN JOİN KULLANIYORUZ
facThread.Join();
e.ReplyLine(string.Format("{0}#", result)); // İŞLEM SONUCU CLİENTA YANİ İSTEK ATAN KİŞİYE GÖNDERİLDİ
}
}
if (parameters[parameters.Length - 1] == "fibo") // MESAJ HATALI DEĞİLSE FİBO FONKSİYONUNA GÖNDERİLDİ
{
if (parameters.Length != 2) // EĞER GELEN PARAMETRE DEĞERLERİ HATALIYSA...
{
MessageBox.Show("Gelen mesajın parametreleri hatalı. Lütfen kullanım şekile uygun olarak tekrar deneyiniz. Doğru Radiobuttonu seçtiğinizden emin olunuz", "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
Thread fiboThread = new Thread(() => fib(parameters));
fiboThread.Start(); //THREAD OLUŞTURUP FONKSİYONUMUZU YENİ THREADDE BAŞLATTIKTAN SONRA FONKSİYONUN İŞİNİ BİTİRMESİNİ BEKLEMEK İÇİN JOİN KULLANIYORUZ
fiboThread.Join();
e.ReplyLine(string.Format("{0}#", result)); // İŞLEM SONUCU CLİENTA YANİ İSTEK ATAN KİŞİYE GÖNDERİLDİ
}
}
});
}