コード例 #1
0
ファイル: MesseNGoat.cs プロジェクト: BetterBlood/MesseNGoat
        private void MesseNGoat_Load(object sender, EventArgs e)
        {
            this.Size          = new Size(428, 241);
            Connexion.Location = new Point(5, 5);

            UserConnexion.Hide();
            ChatBox.Hide();
            SaveLogin.Hide();
        }
コード例 #2
0
ファイル: MesseNGoat.cs プロジェクト: BetterBlood/MesseNGoat
        private void newUserButton_Click(object sender, EventArgs e)
        {
            // TODO : gérer les exceptions, ptetre mettre un message d'erreur etc...

            UserConnexion.Hide();

            this.Size          = new Size(325, 360);
            SaveLogin.Location = new Point(5, 5);
            SaveLogin.Show();
        }
コード例 #3
0
ファイル: MesseNGoat.cs プロジェクト: BetterBlood/MesseNGoat
        private void returnToUserConnexion_Click(object sender, EventArgs e)
        {
            // TODO : gérer les exceptions, ptetre mettre un message d'erreur etc...

            SaveLogin.Hide();

            this.Size = new Size(650, 241);
            UserConnexion.Location = new Point(5, 5);
            UserConnexion.Show();
        }
コード例 #4
0
ファイル: MesseNGoat.cs プロジェクト: BetterBlood/MesseNGoat
        private void accountCreationButton_Click(object sender, EventArgs e)
        {
            // envoyer une requette au serveur pour créer un utilisateur
            // si le nom d'utilisateur n'est pas pris => on vérifie que le nom d'utilisateur et le mot de passe ne contiennent pas de "/" => (tous ça dans la partie server)
            // si le serveur nous dit que c'est bon on retourne a la page de connexion, sinon on envoie un message d'erreure comme quoi les informations sont incorrectes

            string accuseRecep = "";

            try
            {
                if (conditionsUtilisation.Checked)
                {
                    if (userNameCreationbox.Text.Length < 5 || userMdpCreationBox.Text.Length < 8)
                    {
                        throw new Exception("nom d'utilisateur ou mot de passe trop court !");
                    }

                    if (!userNameCreationbox.Text.Contains("/") && !userMdpCreationBox.Text.Contains("/"))
                    {
                        _client.SendMessage(userNameCreationbox.Text + "/" + _crypto.Hash(userMdpCreationBox.Text) + "/newUser" + "/" + _client.GetRSAXML()); // TODO : ne pas oublié de crypter les infos !!!! + de donner la clé public ?
                    }
                    else
                    {
                        MessageBox.Show("Les identifiants entrés ne peuvent pas être validés, le symbole '/' est interdit. Veuillez vous assurer que vous ne l'avez pas utilisé", "nom d'utilisateur ou mdp invalide");
                    }
                }

                accuseRecep = _client.TestStreamReception() + "\n";
            }
            catch (Exception exception)
            {
                accuseRecep = exception.Message + "\n";
            }

            string[] accuseRecepSplit = accuseRecep.Split('/');

            if (accuseRecepSplit[0].Equals("goodID")) // récupérer la liste des utilisateurs et si on les envoie depuis le serveur il faut la stringxml(clépublic)
            {
                SaveLogin.Hide();

                this.Size = new Size(650, 241);
                UserConnexion.Location = new Point(5, 5);
                UserConnexion.Show();
            }
            else if (accuseRecepSplit[0].Equals("badID"))
            {
                MessageBox.Show("Les identifiants entrés ne peuvent pas être validés", "utilisateur déjà existant");
            }
            else
            {
                MessageBox.Show("Un problème est survenu lors de la requete, merci de le signaler au SAV : " + accuseRecep, "Connexion Issue");
            }
        }
コード例 #5
0
ファイル: MesseNGoat.cs プロジェクト: BetterBlood/MesseNGoat
        private void buttonForSending_Click(object sender, EventArgs e)
        {
            richTextBoxConversation.Text += messageAEnvoyer.Text + "\n";
            string accuseRecep;

            try
            {
                string destinataire = destinationTextBox.Text;

                string[] users = _users.Split('\n');

                int destinationIndice = 0;
                int verification      = 0;

                foreach (string user in users)
                {
                    destinationIndice++;

                    if (user.Equals(destinataire))
                    {
                        break;
                    }
                    verification++;
                }

                if (destinationIndice == verification)
                {
                    destinationIndice = 0; // on reset à 0 car l'utilisateur n'a pas été trouvé
                }

                _client.SendMessage(messageAEnvoyer.Text, destinationIndice, true); // true : encryption du message
                accuseRecep = _client.TestStreamReception() + "\n";
            }
            catch (Exception exception)
            {
                accuseRecep = exception.Message + "\n";
                MessageBox.Show("Connection Lost : \n\nVeuillez vérifier que le serveur n'a pas été déconnecté", "Connexion Lost");
                Size = new Size(428, 241);
                Connexion.Location = new Point(5, 5);

                UserConnexion.Hide();
                ChatBox.Hide();
                SaveLogin.Hide();

                Connexion.Show();
            }

            richTextBoxConversation.Text += accuseRecep;
        }