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 de connection Socket Client


Sujet :

Réseau C

  1. #1
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut Problème de connection Socket Client
    Bonjour,

    Je cherchais à un crée un programme qui me permet d'envoyer des données via un socket côté client à un serveur. Cependant je n'arrive pas à me connecter et je n'arrive pas à savoir pourquoi. J'ai fais des recherches sur le site mais j'ai rien trouvé pouvant m'apporter une solution à ce problème. Voici mon socket, peut être y trouverer vous qq chose qui m'a echappé. :]


    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
     
     
    #include "port_serie.h"
    #pragma comment(lib, "ws2_32.lib")
     
    char sock(char *buffer)
     
    {
     
    	struct sockaddr_in struct_socket;
    	char *adresse = "172.16.19.132"; 
     
    	WSADATA wsaData;
    	SOCKET descripteur;
     
    	WSAStartup(MAKEWORD(1 ,0), &wsaData);
     
     
    	struct_socket.sin_addr.s_addr = inet_addr(adresse);
    	struct_socket.sin_port = htons(1025);
    	struct_socket.sin_family = AF_INET;
     
    	descripteur = socket (AF_INET, SOCK_STREAM, 0);
     
    	connect(descripteur, (struct sockaddr*)&struct_socket, sizeof(adresse));
     
     
    	if((send(descripteur, buffer, sizeof(buffer), 0)) == SOCKET_ERROR)
    		errors();
     
     
     
    	getch();
    	closesocket(descripteur);
     
    	return '\0';
     
     
    }

  2. #2
    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 Re: Problème de connection Socket Client
    Citation Envoyé par xyz
    Je cherchais à un crée un programme qui me permet d'envoyer des données via un socket côté client à un serveur. Cependant je n'arrive pas à me connecter et je n'arrive pas à savoir pourquoi.
    Est-ce que les firewalls autorisent la manip ?
    J'ai fais des recherches sur le site mais j'ai rien trouvé pouvant m'apporter une solution à ce problème. Voici mon socket, peut être y trouverer vous qq chose qui m'a echappé. :]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #pragma comment(lib, "ws2_32.lib")
     
    	WSAStartup(MAKEWORD(1 ,0), &wsaData);
    Vu que tu ne testes aucun code retour tu ne sais pas ce qui se passe. je trouve douteux de demander à travailler en version 1 avec une bibliothèque Winsock2...

    http://emmanuel-delahaye.developpez.com/reseaux.htm

    Le premier paramètre de socket(), c'est PF_INET (PF = Protocol Family)
    Pas de Wi-Fi à la maison : CPL

  3. #3
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Merci pour ces réponses,

    Effectivement j'ai fais une erreur à ce niveau que j'ai corriger

    WSAStartup(MAKEWORD(1 ,0), &wsaData);

    mais sans succès. Je n'ai sinon aucun firewall qui bloque.

    Je vais néanmoins essayer ce que tu m'as dis et je vais voir.

    Merci

  4. #4
    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 xyz
    Effectivement j'ai fais une erreur à ce niveau que j'ai corriger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WSAStartup(MAKEWORD(1 ,0), &wsaData);
    mais sans succès.
    : Je ne vois pas de correction...

    Si ta biliothèque est en version 2, demande une ouverture en version 2!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WSAStartup(MAKEWORD(2 ,2), &wsaData);
    Ce sera plus cohérent ! Et il faut utiliser <winsock2.h> au lieu de <winsock.h>

    Tu n'as donc pas lu l'article dont je t'ai passé le lien ?
    Je n'ai sinon aucun firewall qui bloque.
    Sur aucune des deux machines ?
    Pas de Wi-Fi à la maison : CPL

  5. #5
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    J'ai lu l'article et j'ai changé ma bibliothèque je l'ai mise en version 2 <winsock2.h>. Aucun firewall ne bloque sur aucune machines

    J'ai modifié mon source comme suit mais je ne vois pas où s'inscrit PF_INET.

    En faite quand je lance mon programme (ma fontion socket n'étant qu'une petite partie de celui ci) il me dit SOCKET NON CONNECTE. Je pense donc que ca vient de la fonction connect() mais n'étant pas très doué en C j'ai du mal à cerner l'erreur.

    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
     
    #include "port_serie.h"
    #pragma comment(lib, "ws2_32.lib")
     
    char sock(char *buffer)
     
    {
     
    	struct sockaddr_in struct_socket;
    	char *adresse = "172.16.19.132"; 
     
    	WSADATA wsaData;
    	SOCKET descripteur;
     
    	WSAStartup(MAKEWORD(2,2), &wsaData);
     
     
    	struct_socket.sin_addr.s_addr = inet_addr(adresse);
    	struct_socket.sin_port = htons(1025);
    	struct_socket.sin_family = AF_INET;
     
    	descripteur = socket (AF_INET, SOCK_STREAM, 0);
     
    	connect(descripteur, (struct sockaddr*)&struct_socket, sizeof(adresse));
     
     
    	if((send(descripteur, buffer, sizeof(buffer), 0)) == SOCKET_ERROR)
    		errors();
     
     
     
    	getch();
    	closesocket(descripteur);
     
    	return '\0';
     
     
    }
    [/code]

  6. #6
    zul
    zul est déconnecté
    Membre éclairé Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Points : 699
    Points
    699
    Par défaut
    teste le retour de connect
    err = connect( ... );
    if ( err == -1 ) ....

    de meme tu dosi vérifier la validité de descripteur.

    PF_INET doit se placer à la place de AF_INET dans l'appel à socket ( Protocol Family vs Adresse Family ).

  7. #7
    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 xyz
    J'ai modifié mon source comme suit mais je ne vois pas où s'inscrit PF_INET.
    Quels sont les mots que tu ne comprends pas dans
    Citation Envoyé par -ed
    Le premier paramètre de socket(), c'est PF_INET (PF = Protocol Family)
    Pas de Wi-Fi à la maison : CPL

  8. #8
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    J'ai testé ce que m'a dit Zul, j'ai donc modifié mon programme comme suit et à la connection il me dit erreur mauvaise adresse (pourtant c'est la bonne adresse et le bon port) et ensuite il me dit Socket non connecté.
    Je désespère d'y arriver.

    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
     
     
    #include "port_serie.h"
    #pragma comment(lib, "ws2_32.lib")
     
    char sock(char *buffer)
     
    {
     
    	struct sockaddr_in struct_socket;
    	char *adresse = "172.16.19.132"; 
    	int err;
     
    	WSADATA wsaData;
    	SOCKET descripteur;
    	WSAStartup(MAKEWORD(2 ,0), &wsaData);
     
    	struct_socket.sin_addr.s_addr = inet_addr(adresse);
    	struct_socket.sin_port = htons(1025);
    	struct_socket.sin_family = PF_INET;   // PF au lieu de AF
     
    	descripteur = socket (PF_INET, SOCK_STREAM, 0);    // PF au lieu de AF
     
    	err = connect(descripteur, (struct sockaddr*)&struct_socket, sizeof(adresse));
    	if (err = -1);
    	errors();
     
    	if((send(descripteur, buffer, sizeof(buffer), 0)) == SOCKET_ERROR)
    		errors();
     
     
    	getch();
    	closesocket(descripteur);
     
    	return '\0';
     
     
    }

  9. #9
    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 xyz
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	connect(descripteur, (struct sockaddr*)&struct_socket, sizeof(adresse));
     
     
    	if((send(descripteur, buffer, sizeof(buffer), 0)) == SOCKET_ERROR)
    Attention, confusions entre sizeof et strlen()...

    Au fait, tu passe n'importe quoi à send()...

    C'est sizeof struct_socket...

    Ceci agite mon FW (tentative de connexion à 172.16.19.132 Port 1025), mais echoue au bout de quelques secondes (timeout, je suppose)
    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
    61
    62
    63
    64
     
    #include <winsock2.h>
    #include <stdio.h>
     
    #define STR_(x) #x
    #define STR(x) STR_(x)
     
    #define error()\
       printf("error %ld at " __FILE__ ":" STR(__LINE__) "\n", (long) WSAGetLastError())
     
    char sock(char const *buffer)
    {
       char *adresse = "172.16.19.132";
       WSADATA wsaData;
       int err = WSAStartup(MAKEWORD(2, 2), &wsaData);
     
       if (!err)
       {
          SOCKET descripteur = socket (PF_INET, SOCK_STREAM, 0);
          if (descripteur != SOCKET_ERROR)
          {
             struct sockaddr_in struct_socket;
             struct_socket.sin_addr.s_addr = inet_addr(adresse);
             struct_socket.sin_port = htons(1025);
             struct_socket.sin_family = AF_INET;
     
             printf ("socket %d is now opened in TCP/IP mode\n", descripteur);
     
             if (connect(descripteur, (struct sockaddr*)&struct_socket, sizeof struct_socket) != SOCKET_ERROR)
             {
                if ((send(descripteur, buffer, strlen(buffer), 0)) != SOCKET_ERROR)
                {
                   puts("data sent...");
                }
                else
                {
                   error();
                }
             }
             else
             {
                error();
             }
             getchar();
             closesocket(descripteur);
          }
          else
          {
             error();
          }
          WSACleanup ();
       }
       else
       {
          error();
       }
     
       return '\0';
    }
     
    int main (void)
    {
       sock("hello world\n");
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    socket 1956 is now opened in TCP/IP mode
    error 10054 at main.c:48
    D'après http://support.microsoft.com/default.aspx?scid=kb;fr;150537, la cause 10054 est : "Connexion réinitialisée par un poste."
    Pas de Wi-Fi à la maison : CPL

  10. #10
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    connect(descripteur, (struct sockaddr*)&struct_socket, strlen(adresse));
     
     
       if((send(descripteur, buffer, sizeof(struct_socket), 0)) == SOCKET_ERROR)
    J'ai modifié ainsi. merci pour cette information cependant ca ne change pas mon problème, je ne comprend pas pourquoi il me donne une erreur d'adresse et de connection.

  11. #11
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Je pense qu'il voulai dire que tu passes n'importe quoi a connect

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    connect(descripteur, (struct sockaddr*)&struct_socket, sizeof(struct_socket));
     
     
       if((send(descripteur, buffer, sizeof(buffer), 0)) == SOCKET_ERROR)
    A la place de sizeof(buffer) il vaudrait p-e mieux mettre strlen(buffer)+1 en effet si tu recoit buffer en argument donc sizeof(buffer) vaut 4 (un pointeur)

    Par contre il faut que ta chaine se trouvant dans buffer soit valide (ie finie par un \0) [d'ailleurs pour que send, il n'envoi pas que quand il a un \n {suis pas sur}]
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  12. #12
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    je suis désolé mais j'ai vraiment pas compris ce que tu voulais dire quand tu dis :

    A la place de sizeof(buffer) il vaudrait p-e mieux mettre strlen(buffer)+1 en effet si tu recoit buffer en argument donc sizeof(buffer) vaut 4 (un pointeur)

  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 xyz
    je suis désolé mais j'ai vraiment pas compris ce que tu voulais dire quand tu dis :

    A la place de sizeof(buffer) il vaudrait p-e mieux mettre strlen(buffer)+1 en effet si tu recoit buffer en argument donc sizeof(buffer) vaut 4 (un pointeur)
    Renseigne toi sur le rôle de l'opérateur sizeof et sur la difference entre un pointeur et un tableau.

    Tu connais le C ou tu programmes au hasard sans comprendre ? Parce que se lancer dans les sockets sans maitriser le C, laisse tomber...
    Pas de Wi-Fi à la maison : CPL

  14. #14
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par xyz
    je suis désolé mais j'ai vraiment pas compris ce que tu voulais dire quand tu dis :

    A la place de sizeof(buffer) il vaudrait p-e mieux mettre strlen(buffer)+1 en effet si tu recoit buffer en argument donc sizeof(buffer) vaut 4 (un pointeur)
    Imaginon que tu ais declarer buffer ainsi :
    char buffer[1024];

    Ici sizeof(buffer) vaut 1024

    Ensuite tu appelles ta fonction :
    char jecpakoi = sock(buffer);

    Dans la fonction sock maintenant
    sizeof(buffer) ne vaut plus 1024 mais vaut la taille d'un pointeur donc sizeof(buffer) vaut 4.

    Donc lorsque tu fera ton send tu n'enverra pas tout ton buffer mais seulement 4 octets.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  15. #15
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    eheh non je programme pas par hasard je suis en bts info mais comme c'est en alternance on voit tres peu nos profs et j'ai du mal a suivre la programmation étant donné que j'ai tres peu de cours et C étant une faible partie de mon programme. On nous demande malgré tout de faire des programmes qui sortent de nos compétences et c'est pourquoi j'ai du mal à le réaliser.

    Pour répondre à skyrunner je vois ce que tu veux dire cepedant j'essaye de resoudre mes problèmes un à un et l'occurence ici c'est mon pb d'adresse merci malgré tout.

  16. #16
    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 xyz
    <...>j'essaye de resoudre mes problèmes un à un et l'occurence ici c'est mon pb d'adresse merci malgré tout.
    Je t'ai donné le bon code...
    Pas de Wi-Fi à la maison : CPL

  17. #17
    zul
    zul est déconnecté
    Membre éclairé Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Points : 699
    Points
    699
    Par défaut
    Question debile : est que quelquechose est censé tourné sur la machine 172.16.19.132 de ton sous-reseau , port 1035 ) ?

    Est que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    telnet 172.16.19.132 1035
    arrive à se connecter ?

  18. #18
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Oui ca se connect j'en suis pas arrivé ce point là, heuresement pour moi.

    Pour répondre à Emmanuel Delahaye je n'ai pas encore testé ce que tu m'as donné mais je vais approfondir la dessus. Je vous remercie d'avoir pris du temps pour aider un ignorant comme moi

  19. #19
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    J'ai résolu certains de mes problèmes mais lors de l'exécution du programme il me sort l'erreur 10038. Apparament je crée mal ma socket.

    Si vous avez une idée de ce qui va pas ça pourrait m'aider. Merci.

    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
     
    #include "port_serie.h"
    #pragma comment(lib, "wsock32.lib")
     
    char sock(char *buffer)
     
    {	
    	WSADATA wsaData;
    	int descripteur;
    	struct sockaddr_in sock;
    	char *adresse = "172.16.19.125"; 
    	WSAStartup(MAKEWORD(1 ,0), &wsaData);
     
     
    	if((descripteur = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) == SOCKET_ERROR));
     
    	sock.sin_family = AF_INET;
    	sock.sin_port = htons(1024);
    	sock.sin_addr.S_un.S_addr = inet_addr(adresse);  // Utiliser pour TCP/IP
     
     
    	if(connect(descripteur, (struct sockaddr*) &sock, sizeof(sock)) == SOCKET_ERROR)
    		errors();
     
    	if((send(descripteur, buffer, strlen(buffer), 0)) == SOCKET_ERROR)
    		errors();
     
    	getch();
    	closesocket(descripteur);
    	WSACleanup();
    	return '\0';
     
    }
    [/code]

  20. #20
    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 xyz
    J'ai résolu certains de mes problèmes mais lors de l'exécution du programme il me sort l'erreur 10038. Apparament je crée mal ma socket.

    Si vous avez une idée de ce qui va pas ça pourrait m'aider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	WSAStartup(MAKEWORD(1 ,0), &wsaData);
    Tu ne tiens aucun compte des remarques. J'arrête de perdre mon temps...
    Pas de Wi-Fi à la maison : CPL

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème dans les sockets Client Serveur Java
    Par rabah15 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 30/09/2014, 16h03
  2. Problème de connection socket
    Par rodgeurette dans le forum C++Builder
    Réponses: 5
    Dernier message: 13/06/2008, 11h40
  3. Problème de communication socket (Client->Server)
    Par Julien_C++ dans le forum C++Builder
    Réponses: 6
    Dernier message: 21/05/2007, 21h28
  4. Problème de time-out avec un socket client.
    Par Depteam1 dans le forum MFC
    Réponses: 3
    Dernier message: 17/10/2005, 10h30
  5. [SOCKET] Client C connecté à un serveur Java
    Par missllyss dans le forum Développement
    Réponses: 2
    Dernier message: 07/06/2004, 13h14

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