예제 #1
0
            IPEndPoint objEndpoint;            //krijimi i objkti i Endpoint(pika e fundit)

            public KlientiRi(Socket serverSocket)
            {
                this.serverSocket = serverSocket;
                this.objEndpoint  = (IPEndPoint)serverSocket.RemoteEndPoint; //Marrja e ip dhe portit
                Thread cThread = new Thread(Komunikimi);                     //krijon nje thread te ri per komunikim

                if (!ListaMeKlient.Contains(objEndpoint.Address.ToString()))
                {
                    ListaMeKlient.Add(objEndpoint.Address.ToString()); //shtimi ne liste te klientit
                }
                cThread.Start();                                       //nis threadin per ate klient
            }
예제 #2
0
            public void Komunikimi()
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Serveri u lidh me klientin {0} me nr: {1} ne portin {2}", objEndpoint.Address, (ListaMeKlient.IndexOf(objEndpoint.Address.ToString()) + 1).ToString(), objEndpoint.Port); //info rreth klientit

                try
                {
                    byte[] eDhenaPranuese = new byte[128];                                        //byte array nga serveri
                    int    gjatsia        = serverSocket.Receive(eDhenaPranuese);                 //Leximi i gjatesise mesazhit nga klienti permes serversocket
                    string TeDhenat       = Encoding.ASCII.GetString(eDhenaPranuese, 0, gjatsia); //ruajtja e rezultatit te kthyer nga serveri ne stringun 'TeDhenat'

                    string pergjigjja = "";                                                       //string ku do te ruajme te dhenat
                    TeDhenat = TeDhenat.Trim();
                    if (TeDhenat.ToLower() == "ip")
                    {
                        pergjigjja = objMetoda.IP(objEndpoint);//dergon tek IP metoda
                    }
                    else if (TeDhenat.ToLower() == "port")
                    {
                        pergjigjja = objMetoda.PORT(objEndpoint);//dergon tek Port metoda
                    }
                    else if (TeDhenat.ToLower() == "time")
                    {
                        pergjigjja = objMetoda.TIME();//dergon tek Time metoda
                    }
                    else if (TeDhenat.ToLower() == "host")
                    {
                        pergjigjja = objMetoda.HOST();//dergon tek Host metoda
                    }
                    else if (TeDhenat.ToLower().IndexOf("zanore") == 0)
                    {
                        pergjigjja = objMetoda.ZANORE(TeDhenat.ToLower());//dergon tek TeDhenat metoda
                    }
                    else if (TeDhenat.ToLower().IndexOf("printo") == 0)
                    {
                        pergjigjja = objMetoda.PRINTO(TeDhenat.ToLower());//dergon tek Printo metoda
                    }
                    else if (TeDhenat.ToLower().IndexOf("konverto") == 0)
                    {
                        pergjigjja = objMetoda.KONVERTO(TeDhenat.ToLower());//dergon tek Konverto metoda
                    }
                    else if (TeDhenat.ToLower() == "keno")
                    {
                        pergjigjja = objMetoda.KENO();//dergon tek Keno metoda
                    }
                    else if (TeDhenat.ToLower().IndexOf("faktoriel") == 0)
                    {
                        pergjigjja = objMetoda.FAKTORIEL(TeDhenat.ToLower());//dergon tek Faktoriel metoda
                    }
                    else
                    {
                        pergjigjja = "Kerkesa eshte e padefinuar mire!\n";//nese deshton
                    }

                    byte[] PergjigjaeKthyer = new byte[128];                //bajt array me 128max per ruatje te pergjigjes
                    PergjigjaeKthyer = Encoding.ASCII.GetBytes(pergjigjja); //pergjigjen duhet ta kthejm ne bajta
                    serverSocket.SendTo(PergjigjaeKthyer, objEndpoint);     //dhe pastaj ja dergojm serverit

                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("Klienti: " + TeDhenat);   //shtypet kerkesa e klientit
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("Serveri: " + pergjigjja); //shtypet pergjigja e serverit(te gjitha shtypen ne klient)
                }
                catch (Exception Error)                          //per te dhene gabimet, do shfaqet mesazhi
                {
                    Console.WriteLine("Gabim: " + Error);
                }
            }