private void Ecouter() { IPEndPoint IPServeur = new IPEndPoint(IPAddress.Parse(LocalIP), 11000); sck.Bind(IPServeur); sck.Listen(100); while (true) { Socket SckClient = sck.Accept(); ParametresThread param = new ParametresThread(SckClient, IPServeur); ThreadStart starter = delegate { PgmClient(param); }; new Thread(starter).Start(); } sck.Close(); }
public void PgmClient(ParametresThread param) { TcpListener serv = new TcpListener(IPAddress.Parse(LocalIP), 11000); byte[] data = new byte[1464]; data = (byte[])aResult.AsyncState; //Décryptage et affichage du message. ASCIIEncoding eEncoding = new ASCIIEncoding(); string message = eEncoding.GetString(data); string m = message.Substring(0, 2); switch (m) { case "#c": { message = message.Substring(2, message.Length - 3); string pseudo = message.Split(' ')[0]; string mdp = message.Split(' ')[1]; ConnexionBase.Open(); OleDbCommand Commande = new OleDbCommand(); Commande.Connection = ConnexionBase; Commande.CommandText = "SELECT * FROM Utilisateurs WHERE Pseudo <> @PSEUDO AND MotDePasse <> @MOTDEPASSE"; Commande.Parameters.Add("PSEUDO", pseudo); Commande.Parameters.Add("MOTDEPASSE", mdp); Commande.ExecuteNonQuery(); OleDbDataReader reader = Commande.ExecuteReader(); break; } case "#d": { message = message.Substring(2, message.Length - 3); string pseudo = message.Split(' ')[0]; string mdp = message.Split(' ')[1]; ConnexionBase.Open(); OleDbCommand Commande = new OleDbCommand(); Commande.Connection = ConnexionBase; Commande.CommandText = "DELETE FROM Utilisateurs WHERE Pseudo <> @PSEUDO AND MotDePasse <> @MOTDEPASSE"; Commande.Parameters.Add("PSEUDO", pseudo); Commande.Parameters.Add("MOTDEPASSE", mdp); Commande.ExecuteNonQuery(); OleDbDataReader reader = Commande.ExecuteReader(); break; } case "#m": { message = message.Substring(2, message.Length - 3); Discussion.Items.Add(message); break; } } }