Résolu PROBLEME DE DETECTION SUR LA CONNEXION EN C#

Statut
N'est pas ouverte pour d'autres réponses.

KSS57-OFFICIEL

C#/C++ Developer
Premium
Inscription
7 Juillet 2013
Messages
1 883
Réactions
365
Points
5 148
RGCoins
0
Salut :RG:,

Jai suivit le Tuto de la FMT pour le panel de connexion (Je suis au courant que cette méthode est totalement crackable)

mes j'aimerais faire en sorte que si il n'y a pas de connexion internet , que sa mette un message d'erreur mais je ne sais pas comment faire parce que le else ne marche pas vu que je n'ait pas mit de condition (if)

@DEVR0 : Encore une idée ?

flatButton1.Text = "Merci de patienter ...";
//Déclaration des variables
string Reponse = "";
string PassMD5 = logInNormalTextBox2.Text; //Oncrypte le mot de passe en MD5

//On déclare notre WebClient
System.Net.WebClient webClient = new System.Net.WebClient();
//On effectue notre requête sur l'API
Reponse = webClient.DownloadString("ICI MON API" + logInNormalTextBox1.Text + "&pass=" + PassMD5);

//On passe la Réponse de l'API dans un switch
switch (Reponse)
{
case "ok":
//On affiche le message de confirmation
MessageBox.Show("Bienvenue " + logInNormalTextBox1.Text + logInNormalTextBox3.Text + Environment.NewLine + "" + Environment.NewLine + "La connexion a été établie avec succès.", "Black Ops II - Tool By SUP3R-MODDEUR", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
Properties.Settings.Default.textbox1 = logInNormalTextBox1.Text;
Properties.Settings.Default.Save();
Properties.Settings.Default.textbox2 = logInNormalTextBox2.Text;
Properties.Settings.Default.Save();

//On active la Form principal et on affiche le pseudo de l'utilisateur
Principal Principal = new Principal();
this.Hide();
Principal.Show();
break;

case "Erreur1":
//On affiche le message d'erreur
MessageBox.Show("Votre nom d'utilisateur ou votre mot de passe est incorrect." + Environment.NewLine + "" + Environment.NewLine + "Veuillez essayer de nouveau.", "Black Ops II - Tool By SUP3R-MODDEUR", MessageBoxButtons.OK, MessageBoxIcon.Error);
logInNormalTextBox1.Text = "";
logInNormalTextBox2.Text = "";
flatButton1.Text = "Connexion";
break;

case "Erreur2":
//On affiche le message d'erreur
MessageBox.Show("Votre nom d'utilisateur ou votre mot de passe est incorrect." + Environment.NewLine + "" + Environment.NewLine + "Veuillez essayer de nouveau.", "Black Ops II - Tool By SUP3R-MODDEUR", MessageBoxButtons.OK, MessageBoxIcon.Error);
logInNormalTextBox1.Text = "";
logInNormalTextBox2.Text = "";
flatButton1.Text = "Connexion";
break;


}
 
Ton topic se trouvait dans la mauvaise section http://reality-gaming.fr/attachments/deplace-png.20318/, je l'ai donc déplacé dans la bonne section http://reality-gaming.fr/attachments/deplacement-png.20319/. :modo:
 
Salut,

Indique que tu utilise System.Net.WebClient, ensuite tu créer une fonction booléenne qui va se chargée de tester si la connexion est active ou non

Code:
public static bool CheckForInternetConnection()
{
    try
    {
        using (var client = new WebClient())
        using (var stream = client.OpenRead("met un lien à la con style google"))
        {
            return true;
        }
    }
    catch
    {
        return false;
    }
}

C'est une fonction qui renvoie soit true soit false, en gros la valeur true est renvoyé sur le test sur google à renvoyé une réponse et false si rien

Ensuite tu reprend tout ton code et tu rajoute une condition et dans la condition on va faire un appel à notre fonction booléenne

Tu met en premier

Code:
if (CheckForInternetConnection == false)
{
//tu met comme quoi il n'a pas internet
}
else
{
tu met tout ton code de connexion
}

C'est un peu du bidouillage mais bon ça fonctionne quoi, si ça marche pas échange false avec true et dis moi ce que ça donne ;)

Sinon comme Bapt a dit, utilise les exception non généré avec try et catch ;)

Bonne après-midi,
DEVR0
 
Salut,

Indique que tu utilise System.Net.WebClient, ensuite tu créer une fonction booléenne qui va se chargée de tester si la connexion est active ou non

Code:
public static bool CheckForInternetConnection()
{
    try
    {
        using (var client = new WebClient())
        using (var stream = client.OpenRead("met un lien à la *** style google"))
        {
            return true;
        }
    }
    catch
    {
        return false;
    }
}

C'est une fonction qui renvoie soit true soit false, en gros la valeur true est renvoyé sur le test sur google à renvoyé une réponse et false si rien

Ensuite tu reprend tout ton code et tu rajoute une condition et dans la condition on va faire un appel à notre fonction booléenne

Tu met en premier

Code:
if (CheckForInternetConnection == false)
{
//tu met comme quoi il n'a pas internet
}
else
{
tu met tout ton code de connexion
}

C'est un peu du bidouillage mais bon ça fonctionne quoi, si ça marche pas échange false avec true et dis moi ce que ça donne ;)

Bonne après-midi,
DEVR0
Il y a plus simple, avec try catch et du précises quel erreur tu veux gérer dans le catch :)
 
Salut,

Indique que tu utilise System.Net.WebClient, ensuite tu créer une fonction booléenne qui va se chargée de tester si la connexion est active ou non

Code:
public static bool CheckForInternetConnection()
{
    try
    {
        using (var client = new WebClient())
        using (var stream = client.OpenRead("met un lien à la *** style google"))
        {
            return true;
        }
    }
    catch
    {
        return false;
    }
}

C'est une fonction qui renvoie soit true soit false, en gros la valeur true est renvoyé sur le test sur google à renvoyé une réponse et false si rien

Ensuite tu reprend tout ton code et tu rajoute une condition et dans la condition on va faire un appel à notre fonction booléenne

Tu met en premier

Code:
if (CheckForInternetConnection == false)
{
//tu met comme quoi il n'a pas internet
}
else
{
tu met tout ton code de connexion
}

C'est un peu du bidouillage mais bon ça fonctionne quoi, si ça marche pas échange false avec true et dis moi ce que ça donne ;)

Sinon comme Bapt a dit, utilise les exception non généré avec try et catch ;)

Bonne après-midi,
DEVR0
Je test ;)
 
Il y a plus simple, avec try catch et du précises quel erreur tu veux gérer dans le catch :)
Je m'en servais pour d'autres choses, j'avais pas pensé aux exceptions au début mais c'est vrai que c'est beaucoup plus simple ^^ surtout qu'il a déjà un switch pour ces erreurs il peut limite ajouter une case pour l'erreur réseau
 
Fait comme Bapt à dis
Tu reprend ton code avec ton switch que tu met dans la partie try

try
{
// Ton code de connexion
}
catch (WebException Ex)
{
MessageBox.Show(Ex.Message);
}
Ok ses bon encor emerci ;)
Vous êtes des bons codeur ;)
Moiu j'ai encore du mal dans certaine chose :)
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut