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

Réseau C Discussion :

Shell pour cmd irc.


Sujet :

Réseau C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut Shell pour cmd irc.
    Hello,

    Je suis en train de faire une fonction qui dois renvoyer a un server irc, une commande que le ROOT (moi) a envoyé dans le pv du Bot.
    J'ai donc cette fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    int shell(int sock)
    {
     
    char buffer[1000];
    char truc[1000];
     
    recv(sock, buffer, sizeof(buffer), 0);
     
    strtok(buffer, "Eole :");
    strtok(NULL, ":");
     
    strncpy(truc, strtok(NULL, ":"), sizeof(truc));
    printf("Commande envoye par %s: %s\r\n", ROOT, truc);
     
    if(truc != "Eole")
    {
    printf("Commande envoye a %s: %s\r\n", HOST, truc);
    send(sock, truc, strlen(truc), 0);
    send(sock, "\r\n", strlen("\r\n"), 0);
    }
     
    }
    Le probleme est que je dois tapper 2 fois la commande pour qu'il l'envois au server et je ne vois vraiment pas d'ou vient le probleme.

    Ex:
    JOIN #pwetpwet
    JOIN #pwetpwet

    Help me

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Hylyah
    La comparaison de chaines se fait avec strcmp().

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut .
    bah limite le if il me sert a rien, c'est juste pour ne pas afficher un simple message, donc mon probleme vient pas de la...

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Hylyah
    bah limite le if il me sert a rien, c'est juste pour ne pas afficher un simple message, donc mon probleme vient pas de la...
    Tu devrais vérifier ce que retourne recv()...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut .
    il retourne toute les lignes que m'envois le server,et donc je decoupe celle avec "Eole :" dans le buffer:

    ":nick!~user@host.com PRIVMSG Eole :message de texte""

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Hylyah
    il retourne toute les lignes que m'envois le server,et donc je decoupe celle avec "Eole :" dans le buffer:

    ":nick!~user@host.com PRIVMSG Eole :message de texte""
    Je parle de la valeur retournée...

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Tu devrais vérifier ce que retourne recv()...
    Et ce que retourne send() et ce que retourne strtok() ...

  8. #8
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Hylyah
    Le probleme est que je dois tapper 2 fois la commande pour qu'il l'envois au server et je ne vois vraiment pas d'ou vient le probleme.
    Ce serait pas mal de voir le code qui gére l'entrée standard et voir comment tu envoies les informations au serveur...

    Jc

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut .
    J'ai reussi a corriger mon probleme, et finir mon shell, merci quand meme

  10. #10
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    Quel était la solution à ton problème si ce n'est pas indiscret ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut ..
    J'avais en fait un recv que j'avais mis dans mon main() avant celui de ma fonction donc je recevais 2 fois...

Discussions similaires

  1. [cmde shell pour installation d'une base sous windows]
    Par Lady_jade dans le forum Installation
    Réponses: 2
    Dernier message: 24/10/2005, 10h29
  2. Un shell pour Windows
    Par Grumph dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 08/08/2005, 08h34
  3. Shell pour supprimer des lignes d'un fichier
    Par nelsa dans le forum Autres langages
    Réponses: 2
    Dernier message: 20/09/2004, 12h26
  4. Réponses: 2
    Dernier message: 01/06/2004, 16h12

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