IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Système de chat multipost avec authentification (Indy 10)


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 19
    Points
    19
    Par défaut Système de chat multipost avec authentification (Indy 10)
    Bonjour à tous !
    Je suis bloquer avec l'utilisation des composants: IdTCPServer et IdTCPClient, en faite j'essai de mettre en place un système de chat multipost avec authentification. Je m'explique, chaque client doit s'authentifier par un pseudo et un mot de passe pour se connecter au serveur, le serveur à son tour doit chercher le client dans la base de données, si les informations fournies par le client sont correctes, le serveur enverra un code (ex: 'ok') pour que le client accède à son compte; sinon, il enverra 'no' et le client n'aura pas accès à son compte.
    Voici le code sources:

    1) Côté Client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var rec: String;
    begin
    idtcpclient1.Host :='192.168.0.1';
    idtcpclient1.Port :=1050;
    idtcpclient1.Connect;
    idtcpclient1.IOHandler.Writeln(pseudo.text);
    idtcpclient1.IOHandler.Writeln(password.text);
    rec :=idtcpclient1.IOHandler.Readln;
    if rec='ok' then "Accèder à son compte"
    else messagedlg('Authentification incorrecte', mtError, [mbOK],0);
    2) Côté Serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //Evénement OnCreate de la fiche
    idtcpserver1.Defaultport := 1050;
    idtcpserver1.Active := true;
    //Evénement OnExecute du serveur
    var pseudo, password: String;
    begin
    pseudo :=AContext.Connexion.IOHandler.Readln;
    password := AContext.Connexion.IOHandler.Readln;
    if pseudo "se trouve dans la bdd" then 
    if pseudo "à pour mot de passe password" then
    if password "est correct à celui qui se trouve dans la bdd" then AContext.Connection.IOHandler.Writeln('ok');
    else
    AContext.Connection.IOHandler.Writeln('no');
    Le problème est que quand le client envoie sa requête pour s'authentifier, l'application cliente se plante, je ne sais pas pourquoi, quelqu'un a-t-il une idée ?
    Aidez-moi s'il vous plaît, car ceci est mon sujet de TFC !
    Merci encore pour vos aides aimables !
    Cordialement,
    Grégoire Mafutala.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 19
    Points
    19
    Par défaut Quelqu'un n'aurait-il pas une idée ?
    S'il vous plait aidez-moi !
    Comment puis-je procéder sans qu'il y ait disfonctionnement ?

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Tu utilise Indy de façon bizarre, pas de thread de lecture ?
    Perso, je n'ai jamais aimé ces composants !
    Les TClientSocket et TServerSocket ont été déprécié un moment et sont revenus sur le devant de la scène puisque c'est le TTCPClient et TTCPServer qui sont dépréciés maintenant !

    de plus, tu as posté du pseudo code qui ne compile pas !
    tu n'indiques pas la DB que tu as choisis ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Bonjour je ne pense pas que le problème vient du bdd ! A propos de TServerSocket et TClientSocket, j'ignore leur utilisation ! Mais j'ai trouvé aussi la méthode: SenCmd, savez-vous comment l'exploiter ?

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Merci beaucoup pour vos réponses, je vais essayer de comprendre le tuto de John Colibri.
    Merci encore !

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/09/2009, 17h27
  2. Nouveau système de CHAT en ligne
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 17
    Dernier message: 15/01/2006, 18h58
  3. [Système] Pb d'include avec $_GET
    Par JSuper_Kitten dans le forum Langage
    Réponses: 6
    Dernier message: 28/09/2005, 15h23
  4. [TIdSMTP] Envoi d'un mail avec authentification ?
    Par BACUS dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/06/2004, 16h18
  5. probleme avec composant indy IDhttp
    Par ulysse66x dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo