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 :

socket ipv6 (client/serveur)


Sujet :

Réseau C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 71
    Points : 59
    Points
    59
    Par défaut socket ipv6 (client/serveur)
    Salut!

    je cherche à travailler avec des socket sur ipv6. Malheureusement la doc est pas toujours tres claire. J'ai malgré tout une version compilable mais qui ne fait rien (?)

    voila le code client et serveur :

    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
     
    main (argc, argv) int argc; char *argv[ ]; 
    {
     
    	int sdi;
    	struct sockaddr_in6 src;
            bzero(&src , sizeof(src));	
     
     
    	if ((sdi = socket(PF_INET6, SOCK_DGRAM, 0)) < 0){
     
              	printf("Error : Cannot acquire socket. Application will now exit");
     
              	exit(-1);
     
          	}
     
    	src.sin6_family = AF_INET6;
            src.sin6_port = htons(PORT);
    	src.sin6_addr = in6addr_any;
     
            //inet_pton(AF_INET6, &in6addr_any, &src.sin6_addr);
     
     
    	if (bind(sdi, (struct sockaddr *) &src , sizeof(src)) < 0){
     
              printf("Error : Cannot bind socket. Application will now exit");
     
              exit(-1);
     
          	}
     
    	while (TRUE) {
     
    	struct sockaddr_in6 from;
    	bzero(&from, sizeof(from));
    	int from_len=0;
     
    	void *buff = malloc(sizeof("coucou les amis"));
    	if ( recvfrom(sdi, buff, sizeof("coucou les amis"), 0, (struct sockaddr *) &from, &from_len) < 0) 
    		printf("Warning - Bad message received");
    	printf("message recu!");
    	printf("%s",buff);
     
    	free(buff);
    	}
    	return 0;
    }
    et le client qui envoie un simple message :

    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
     
     
    main (argc, argv) int argc; char *argv[ ]; 
    {
    	int sdi;
    	struct sockaddr_in6 src;
            bzero(&src , sizeof(src));	
     
    	if ((sdi = socket(PF_INET6, SOCK_DGRAM, 0)) < 0){
     
              	printf("Error : Cannot acquire socket. Application will now exit");
     
              	exit(-1);
     
          	}
     
    	src.sin6_family = AF_INET6;
    	src.sin6_addr = in6addr_any;
     
            //inet_pton(AF_INET6, &in6addr_any, &src.sin6_addr);
     
    	if (bind(sdi, (struct sockaddr *) &src , sizeof(src)) < 0){
     
              printf("Error : Cannot bind socket. Application will now exit");
     
              exit(-1);
     
          	}
     
    	struct sockaddr_in6 to;
    	bzero(&to, sizeof(to));
    	to.sin6_family = AF_INET6;
    	to.sin6_port = htons(PORT);
    	to.sin6_addr = in6addr_loopback;
     
    	int from_len=0;
     
    	char *msg = "coucou les amis";
    	if ( sendto(sdi, msg, sizeof(msg), 0, (struct sockaddr *) &to, sizeof(to)) < 0) 
    		printf("Warning - Bad message received");
     
    	printf("message envoyé : %s",msg);
    	return 0;
    }
    Les deux compilent. A l'exécution, le seveur démarre mais bloque sur le recvfrom. Si je met le recvfrom en commentaire, je vois avec des printf qu'il arrive jusque la. Si je le met pas en commentaire, aucun printf ne s'affiche (meme si il est à la 1ere ligne du main). Quand j'execute le client. Il parvient à envoyer le message (du moins aucune erreur) mais le seveur ne recoit rien.

    Quelqu'un peut m'aider à identifier le prob?

    merci bcp!

  2. #2
    Membre éclairé Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par beLz
    Les deux compilent. [...]
    Tu es sûr que ça compile !!!! ???
    As tu essayé ?

    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
     
    Project   : Console application
    Compiler  : GNU GCC Compiler (called directly)
    Directory : D:\Documents and Settings\ab84533\My Documents\Temp\CodeBlocks_Project\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c:4: warning: return type defaults to `int'
    main.c:4: warning: function declaration isn't a prototype
    main.c: In function `main':
    main.c:8: error: storage size of 'src' isn't known
    main.c:9: warning: implicit declaration of function `bzero'
    main.c:12: warning: implicit declaration of function `socket'
    main.c:12: error: `PF_INET6' undeclared (first use in this function)
    main.c:12: error: (Each undeclared identifier is reported only once
    main.c:12: error: for each function it appears in.)
    main.c:12: error: `SOCK_DGRAM' undeclared (first use in this function)
    main.c:16: warning: implicit declaration of function `exit'
    main.c:20: error: `AF_INET6' undeclared (first use in this function)
    main.c:21: warning: implicit declaration of function `htons'
    main.c:21: error: `PORT' undeclared (first use in this function)
    main.c:22: error: `in6addr_any' undeclared (first use in this function)
    main.c:27: warning: implicit declaration of function `bind'
    main.c:35: error: `TRUE' undeclared (first use in this function)
    main.c:37: error: storage size of 'from' isn't known
    main.c:41: warning: implicit declaration of function `malloc'
    main.c:42: warning: implicit declaration of function `recvfrom'
    main.c:45: warning: char format, void arg (arg 2)
    main.c:47: warning: implicit declaration of function `free'
    main.c:37: warning: unused variable `from'
    main.c:8: warning: unused variable `src'
    main.c: At top level:
    main.c:4: warning: unused parameter 'argc'
    main.c:4: warning: unused parameter 'argv'
    Process terminated with status 1 (0 minutes, 1 seconds)
    10 errors, 15 warnings
    Software Failure. Press left mouse button to continue.
    Guru Meditation #0100000C.000FE800

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Pour commencer, termine tes printf() avec \n ou ajoute des fflush() stdout à la suite pour t'assurer que les messages s'affichent.

    Ensuite, complète ton code (montre les fichier d'en-tête utilisés)...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    et de plus, pour éviter à faire des fflush et se servir d'un truc existant par défaut en C, moi j'utilise toujours fprintf (stderr .....

    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  5. #5
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    [CODE]
    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
    main (argc, argv) int argc; char *argv[ ]; 
    Ce n'est pas tout jeune comme style de déclaration...
    {
     
    	int sdi;
    	struct sockaddr_in6 src;
            bzero(&src , sizeof(src));	
     
     
    	if ((sdi = socket(PF_INET6, SOCK_DGRAM, 0/*IPPROTO_UDP*/)) < 0){
     Normalement, le test de retour se fait avec INVALID_SOCKET
              	printf("Error : Cannot acquire socket. Application will now exit");
     
              	exit(-1);
     
          	}
     
    	src.sin6_family = AF_INET6;
            src.sin6_port = htons(PORT);
    	src.sin6_addr = in6addr_any;
     
            //inet_pton(AF_INET6, &in6addr_any, &src.sin6_addr);
            
     
    	if (bind(sdi, (struct sockaddr *) &src , sizeof(src)) < 0){
     Comparaison avec SOCKET_ERROR
              printf("Error : Cannot bind socket. Application will now exit");
     
              exit(-1);
     
          	}
     
    	while (TRUE) {
     
    	struct sockaddr_in6 from;
    	bzero(&from, sizeof(from));
    	int from_len=0;/* =sizeof from */
    	
    	void *buff = malloc(sizeof("coucou les amis"));
    	if ( recvfrom(sdi, buff, sizeof("coucou les amis"), 0, (struct sockaddr *) &from, &from_len) < 0) 
    Comparaison avec SOCKET_ERROR ou sizeof("coucou les amis")
    		printf("Warning - Bad message received"); 
    	printf("message recu!");
    	printf("%s",buff);
    	
    	free(buff);
    	}
    Et closesocket()?
    	return 0;
    }

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    stephl : La plupart de tes commentaires ne sont pas utilisables seuls: Le P.O. n'est pas sous Windows, il lui faut donc en plus les defines de compatibilité.

    On peut trouver ceux-ci dans les pages d'Emmanuel:
    http://emmanuel-delahaye.developpez.com/reseaux.htm
    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 defined (WIN32)
     
    #include <winsock2.h>
     
    #elif defined (linux)
     
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <unistd.h> /* close */
     
    #define INVALID_SOCKET -1
    #define SOCKET_ERROR -1
     
    #define closesocket(s) close (s)
    typedef int SOCKET;
    typedef struct sockaddr_in SOCKADDR_IN;
    typedef struct sockaddr SOCKADDR;
     
    #else
    #error not defined for this platform
    #endif
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    Citation Envoyé par Médinoc
    stephl : La plupart de tes commentaires ne sont pas utilisables seuls: Le P.O. n'est pas sous Windows...
    Comment le savez-vous?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 71
    Points : 59
    Points
    59
    Par défaut
    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
     
    #include <sys/types.h>
     
    #include <sys/socket.h>
     
    #include <netinet/in.h>
     
    #include <arpa/inet.h>
    #include <signal.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>
    #define PORT 50000
    #define TRUE 1
    #define FALSE 0
    #define DEFAULT_REQUEST_SIZE 832
    pour le serveur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <sys/types.h>
     
    #include <sys/socket.h>
     
    #include <netinet/in.h>
     
    #include <arpa/inet.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>
    #define PORT 8090
    #define TRUE 1
    #define FALSE 0
    pour le client !

    Je vais ajouter les \n déja

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par stephl
    Comment le savez-vous?
    • Parce qu'il utilise bzero()
    • Parce qu'il n'utilise pas WSAStartup(), et pourtant ça marche jusqu'au recvfrom()
    • Et aussi un peu parce qu'il n'utilise pas SOCKET_ERROR, parce qu'il ne fait pas la confusion PF_ / AF_ (répandue par Microsoft)...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    Citation Envoyé par Médinoc
    • Parce qu'il n'utilise pas WSAStartup(), et pourtant ça marche
    Très juste, sous Windows, cela aurait été la plus grosse erreur, et je ne l'ai même pas remarquée...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 71
    Points : 59
    Points
    59
    Par défaut
    bon ben probleme réglé... C'était simplement les \n qui manquait

    Le problème n'était pas bien compliqué mais j'y aurai jamais pensé

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    D'ailleurs, c'est aussi une des choses qui m'ont indiqué que tu étais sous un système unixoïde, car on a rarement ce problème de bufferisation sous Windows...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par souviron34
    et de plus, pour éviter à faire des fflush et se servir d'un truc existant par défaut en C, moi j'utilise toujours fprintf (stderr .....
    Bah, ça ne sort par forcément par le même tuyau... (fichier, port série...)
    Pas de Wi-Fi à la maison : CPL

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par beLz
    bon ben probleme réglé... C'était simplement les \n qui manquait

    Le problème n'était pas bien compliqué mais j'y aurai jamais pensé
    http://emmanuel-delahaye.developpez....#fflush_stdout
    Pas de Wi-Fi à la maison : CPL

  15. #15
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Parce qu'on sait lire : Pas de WSAStartup ()...
    OK, mais si vous savez lire, alors lisez les posts précédents et vous verrez que la réponse m'a déjà été donnée...

  16. #16
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    C'est ce que j'allais dire avant de cliquer sur "page suivante" : Emmanuel, tu arrives un peu après la bataille (et si c'est la première fois que je le dis, je ne suis pas sûr que ce soit la première fois que ça arrive)...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  17. #17
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    Citation Envoyé par Médinoc
    D'ailleurs, c'est aussi une des choses qui m'ont indiqué que tu étais sous un système unixoïde, car on a rarement ce problème de bufferisation sous Windows...
    Pourriez-vous m'expliquer ce problème de bufferisation, car je ne suis pas sûr d'avoir compris comment le problème a été réglé?

  18. #18
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    As-tu lu l'article dont le lien a été posté par Emmanuel ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  19. #19
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    Non, je n'avais pas fait attention à cela. Je vais regarder. Merci.

  20. #20
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    OK, j'avais mal compris. Je n'avais pas saisi qu'il était juste question de l'affichage...

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

Discussions similaires

  1. Socket connexion client/serveur en WIFI
    Par walslayer dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 11/01/2012, 10h44
  2. [SOCKET] TCP client/serveur
    Par hxh2008 dans le forum Réseau
    Réponses: 3
    Dernier message: 25/11/2011, 17h01
  3. socket UDP client/serveur
    Par xokami35x dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 10/06/2008, 19h57
  4. [SOCKET] connexion client serveur avec applet
    Par kaiser2003 dans le forum Applets
    Réponses: 2
    Dernier message: 06/10/2004, 22h32
  5. [Routeur/Socket] Connection Client/Serveur
    Par Clorish dans le forum Développement
    Réponses: 3
    Dernier message: 17/12/2003, 13h45

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