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

Windows Discussion :

socket sous windows


Sujet :

Windows

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut socket sous windows
    salut,
    j'ai élaboré un code serveur et un code client en mode console.
    mais il ya un probleme du cote client car il n'arrive pas a recevoir le message que le serveur envoie en retour de "quitter" (c'est a dire : "vous etes deconnecte").

    voici le code serveur qui pose pb :
    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
    23
    24
    25
    26
    27
       while(1)
       {
          int sinsize = sizeof(csin);
          if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
          {         
                   memset(buffer,0,255);
                   wsprintf(buffer,"Bienvenu...");
                   send(csock,buffer,255,0);
                   
                   while(1)
                   {
                           recv(csock,buffer,255,0);
                           if(strcmp(buffer, "quitter")!=0){
                             send(csock,"vous etes deconnecte",20,0);                  
                             exit(0);
                           }
                           else{
                                   send(csock,"mauvaise commande",20,0);
                                   }
                                
                   }
                   
          }
          
          exit(0);
       }

    et voici le code client qui pose pb :

    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
    23
    
    if((res = connect(my_socket,(struct sockaddr *) &adresse_socket, 
                             sizeof(adresse_socket))) != 0)
       printf("Impossible de se connecter !\n");
      
      
       recv(my_socket,chaine,100,0);
              printf("%s\n",chaine);
       
       while(1)
       {
              printf("entrez une commande \n");
              
              fgets(chaine,100,stdin);      
              send(my_socket,chaine,100,0); 
         
              recv(my_socket,chaine,100,0); // ca ne recoit pas la chaine !!!!!         
              printf("%s\n",chaine);              // ca affiche a chaine envoyé mais   pas la chaine recue !!!                        
       }
          
       return 0;
    }


    voila si vous avez une idée merci bien.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    salut,
    j'ai fais des tests et apparement j'ai constaté qu'on ne pouvais pas envoyer des phrases (du cote serveur) OU recevoir des phrases (du cote client) deux fois de suites.

    si quelqu'un peut me dire pourquoi ca m'arrangerait merci.

  3. #3
    Membre expérimenté
    Avatar de Aramis
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Points : 1 638
    Points
    1 638
    Par défaut
    Bonjour,

    c'est tout simplement du au fait que vous avez coder des sockets en mode bloquant.... Il faudrai ecrire votre code de facon a ce que les programmes client/servers marchent en asynchrone afin de regler ce probleme.

    Ar@mi$
    Avant de Poster Lire les Regles! Merci
    -------------------------------------------------
    "The only Way for Evils to Triumph is for Good Men to Do Nothing"
    Edmund Burke (1729 - 1797)

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    ah merci bien mais comment je peux faire pour faire cela ???

Discussions similaires

  1. Programatopn socket sous windows avec VS 2012 en projet console
    Par tonycalv dans le forum Développement Windows
    Réponses: 0
    Dernier message: 15/01/2015, 23h41
  2. Utilisation des sockets sous Windows (VISTA)
    Par Linoux dans le forum Réseau
    Réponses: 5
    Dernier message: 06/03/2009, 16h26
  3. Programmation de socket sous windows
    Par chrix10.2 dans le forum Bibliothèques
    Réponses: 5
    Dernier message: 10/10/2007, 09h36
  4. Socket sous windows
    Par Higestromm dans le forum Windows
    Réponses: 20
    Dernier message: 11/01/2005, 17h47
  5. utilisation des sockets sous windows
    Par Tupac dans le forum Réseau
    Réponses: 2
    Dernier message: 21/12/2002, 18h24

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