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 :

Problème d'application serveur


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 33
    Par défaut Problème d'application serveur
    bonjour,
    suite a , ma demande precedente,je me suis encore une fois enfermer dans un cercle sans sortie, je vien de créer une application serveur qui repond a un message par l'envois du mot "éxcellent".(plustard je devllopperai le traitement que le serveur doit réellement faire, pour l'instant je m'arrette à l'envois du mot "excellent".
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #include<errno.h>
    #include<sys/types.h>
    #include<sys/socket.h>
    #include<netinet/in.h>
    #include<netdb.h>
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    //#include <stddef.h>
    //#include <unistd.h>
    //#include <time.h>
    //#include <sys/time.h>
     
     
    #define PORTS 5100
    /*struct evenement
    	{	char id[50];
    	} evenement;*/
    char reponse[10]="excellent";
    char consultation(char message)
    	{
    	printf("message traité!!\n");
    	return(reponse);
    	}
     
    int  main(void)
    {
    	struct sockaddr_in addr_serveur, addr_client;
    	int lg,n;
    	int sock;
    	sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
    	{	perror("erreur de creation socket");
    		exit(1);
    	};
    /* mise a zero de la mémoire d'adresse. */
     
    	bzero(&addr_serveur, sizeof(addr_serveur));
     
    /* preparation de la structure adresse*/
     
    	addr_serveur.sin_family=AF_INET;
    	addr_serveur.sin_port =htons(PORTS); 
    	addr_serveur.sin_addr.s_addr=INADDR_ANY; /*b n'import quelle adresse*/
     
    	if( bind(sock,(struct sockaddr *)&addr_serveur, sizeof(addr_serveur))<0) 
    	{	perror("Erreur d'attachement: appel BIND");
    		exit (2);
    	};
     
    	for(;;) 
    	{	char message[50]="";
    		char placelibre;
    		lg=sizeof(addr_client);
    		n=rcvfrome(sock,message,50,0,(struct sockaddr *)&addr_client,&lg);
     
    		placelibre=consultaion(message);
    		sendto(sock,&placelibre,10,0,(struct sockaddr *)&addr_client,lg);
    	}
    close(sock);
    }
    apres la compilation voila ce que je recois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [xxx@localhost ~]$ gcc -o serv servecons.c
    servecons.c: In function ‘consultation’:
    servecons.c:23: attention : return makes integer from pointer without a cast
    servecons.c:60:2: attention : pas de retour chariot à la fin du fichier
    [xxx@localhost ~]$ ./serv
    erreur de creation socket: Success
    [xxx@localhost ~]$
    est ce que c'est une erreur de code une mauvaise configuration ds mon fedora???
    merci encore une fois!!

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par redanovich Voir le message
    bonjour,
    suite a , ma demande precedente,je me suis encore une fois enfermer dans un cercle sans sortie, je vien de créer une application serveur qui repond a un message par l'envois du mot "éxcellent".(plustard je devllopperai le traitement que le serveur doit réellement faire, pour l'instant je m'arrette à l'envois du mot "excellent".
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #include<errno.h>
    #include<sys/types.h>
    #include<sys/socket.h>
    #include<netinet/in.h>
    #include<netdb.h>
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    //#include <stddef.h>
    //#include <unistd.h>
    //#include <time.h>
    //#include <sys/time.h>
     
     
    #define PORTS 5100
    /*struct evenement
    	{	char id[50];
    	} evenement;*/
    char reponse[10]="excellent";
    char consultation(char message)
    	{
    	printf("message traité!!\n");
    	return(reponse);
    	}
     
    int  main(void)
    {
    	struct sockaddr_in addr_serveur, addr_client;
    	int lg,n;
    	int sock;
    	sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
    	{	perror("erreur de creation socket");
    		exit(1);
    	};
    /* mise a zero de la mémoire d'adresse. */
     
    	bzero(&addr_serveur, sizeof(addr_serveur));
     
    /* preparation de la structure adresse*/
     
    	addr_serveur.sin_family=AF_INET;
    	addr_serveur.sin_port =htons(PORTS); 
    	addr_serveur.sin_addr.s_addr=INADDR_ANY; /*b n'import quelle adresse*/
     
    	if( bind(sock,(struct sockaddr *)&addr_serveur, sizeof(addr_serveur))<0) 
    	{	perror("Erreur d'attachement: appel BIND");
    		exit (2);
    	};
     
    	for(;;) 
    	{	char message[50]="";
    		char placelibre;
    		lg=sizeof(addr_client);
    		n=rcvfrome(sock,message,50,0,(struct sockaddr *)&addr_client,&lg);
     
    		placelibre=consultaion(message);
    		sendto(sock,&placelibre,10,0,(struct sockaddr *)&addr_client,lg);
    	}
    close(sock);
    }
    apres la compilation voila ce que je recois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [xxx@localhost ~]$ gcc -o serv servecons.c
    servecons.c: In function ‘consultation’:
    servecons.c:23: attention : return makes integer from pointer without a cast
    servecons.c:60:2: attention : pas de retour chariot à la fin du fichier
    [xxx@localhost ~]$ ./serv
    erreur de creation socket: Success
    [xxx@localhost ~]$
    est ce que c'est une erreur de code une mauvaise configuration ds mon fedora???
    merci encore une fois!!
    pour le premier warning :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    char reponse[10]="excellent";
    
    char *consultation (char message)
    {
       puts ("message traité!!");
       return (reponse);
    }
    Pour le second, tu dois ajouter une fin de ligne à la fin de ton fichier (la norme l'impose).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 33
    Par défaut
    fin de ligne???? j'ai jammais entendu parler de ca?? désolé je ne suis qu'un débutant!

    comment je peux le faire????

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 33
    Par défaut
    ohh ok, je l'ai fais, mais apres l'execution , il me dis tjr,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [doa@localhost ~]$ ./serv
    erreur de creation socket: Success
    [doa@localhost ~]$
    je crois que mnt mon code est juste, que peut etre le probleme alors!!!!???

  6. #6
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int  main(void)
    {
    	struct sockaddr_in addr_serveur, addr_client;
    	int lg,n;
    	int sock;
    	sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
    	{	perror("erreur de creation socket");
    		exit(1);
    	};
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int  main(void)
    {
    	struct sockaddr_in addr_serveur, addr_client;
    	int lg,n;
    	int sock;
    	sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
    
           if (-1 == sock)
    	{	perror("erreur de creation socket");
    		exit(1);
    	};

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de démarrage/arrêt application serveur
    Par mawguai dans le forum Websphere
    Réponses: 0
    Dernier message: 22/06/2012, 12h02
  2. problème avec Application->ProcessMessages()
    Par petitours dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/08/2005, 10h27
  3. application serveur gérant le GUI
    Par didier.cabale dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 03/06/2005, 11h27
  4. Réponses: 2
    Dernier message: 12/10/2004, 13h04
  5. [D8] Application serveur non disponible
    Par Keke des Iles dans le forum EDI
    Réponses: 4
    Dernier message: 27/09/2004, 12h06

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