Client / Serveur EN C
Résolu/Fermé
LaZo61
Messages postés
53
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
24 mai 2007
-
10 mai 2007 à 10:49
LaZo61 Messages postés 53 Date d'inscription jeudi 1 février 2007 Statut Membre Dernière intervention 24 mai 2007 - 10 mai 2007 à 13:16
LaZo61 Messages postés 53 Date d'inscription jeudi 1 février 2007 Statut Membre Dernière intervention 24 mai 2007 - 10 mai 2007 à 13:16
A voir également:
- Client / Serveur EN C
- Impossible d'atteindre le serveur dhcp - Forum Réseau
- Orange service client - Guide
- Changer serveur dns - Guide
- Formate pour taxer client frigo vide - Forum PDF
- Serveur pop - Guide
8 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
10 mai 2007 à 13:12
10 mai 2007 à 13:12
J'ai un code pour win :
#include <string> #include <reseau.hpp> #include <iostream> #include <stdlib.h> #include <liste.hpp> #include <maj.hpp> std::string g,l; char *c=new char; int main(int argc,char **argv) { if (argc<4)exit(0); g=lliste(); std::cout<<g<<"chaine\n"; l=argv[2]; l+=" "; l+=argv[3]; #ifdef _WIN32 WSADATA WSAData; WSAStartup(MAKEWORD(2,0),&WSAData); #endif SOCKET C,S; SOCKADDR_IN Ci,Si; // definition du socket du client /* C=socket(AF_INET,SOCK_STREAM,0); Ci.sin_addr.s_addr=htonl(INADDR_ANY); Ci.sin_family=AF_INET; Ci.sin_port=htons(333); bind(C,(SOCKADDR *)&Ci,sizeof(SOCKADDR)); */ // definition du socket du serveur S=socket(AF_INET,SOCK_STREAM,0); std::cout<<S; Si.sin_addr.s_addr=inet_addr(argv[1]); Si.sin_family=AF_INET; Si.sin_port=htons(333); //system("PAUSE"); std::cout<<bind(S,(SOCKADDR *)&Si,sizeof(Si)); //system("PAUSE"); std::cout<<connect(S,(SOCKADDR *)&Si,sizeof(Si)); //system("PAUSE"); // autentification send(S,l.c_str(),sizeof(l.c_str()),0); recv(S,c,sizeof(c),0); std::cout<<c; // corps maj(S,Si,g);//envoie de la mise à jour de la liste //closesocket(C); closesocket(S); WSACleanup(); return 0; }reseu.hpp:
#ifdef _WIN32 #include <winsock2.h> #else #include <sys/socket> #endifMais il devrai fonctionné sous Linux moyennant quelques petites modif.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
10 mai 2007 à 12:27
10 mai 2007 à 12:27
8-| Il en manque des bout non ?
Je comprend pas ce que tu veux faire.
Tu es sur du write(dsock...) ? moi en socket j'utilise send et recv
Je comprend pas ce que tu veux faire.
Tu es sur du write(dsock...) ? moi en socket j'utilise send et recv
LaZo61
Messages postés
53
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
24 mai 2007
5
10 mai 2007 à 12:31
10 mai 2007 à 12:31
Je suis sure parceque si j'utilise pas mon serveur a moi et que j'utilise un serveur http ca fonctionne avec dsock le truc c que je voies bien que le message est envoyer avec ethereal mais le probleme c'est qu'il lenvoie en psh :(
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
10 mai 2007 à 12:39
10 mai 2007 à 12:39
?? Je comprend pas ce que tu dit.PSH quoi kes ??
Pour moi client et serveur sont 2 prog différents.
Or là si tu regarde client, dsock n'est pas déclarer je comprend même pas que ça compile.
Un conseil pour la suite sur le forum : utilise les balises code pour mettre les sources ! ça conserve les indentation, ce qui n'est pas du luxe lorsque tu met autant de lignes.
Pour moi client et serveur sont 2 prog différents.
Or là si tu regarde client, dsock n'est pas déclarer je comprend même pas que ça compile.
Un conseil pour la suite sur le forum : utilise les balises code pour mettre les sources ! ça conserve les indentation, ce qui n'est pas du luxe lorsque tu met autant de lignes.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
LaZo61
Messages postés
53
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
24 mai 2007
5
10 mai 2007 à 12:51
10 mai 2007 à 12:51
g pas mie tou le prog
dsock=connectsock(host,port,"tcp");
En faite quand je le lance le client et le serveur
Je voie bien qu'une connection s'etablie entre le client et le serveur de type TCP
mais le client envoie ensuite une trame PSH c'est mon probleme
dsock=connectsock(host,port,"tcp");
En faite quand je le lance le client et le serveur
Je voie bien qu'une connection s'etablie entre le client et le serveur de type TCP
mais le client envoie ensuite une trame PSH c'est mon probleme
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
10 mai 2007 à 12:59
10 mai 2007 à 12:59
connait pas PSH.
à mon avis ça viens du write(). dans send_toserver() De toute façon il n'y a qu'a cet endroit que quelque chose est envoyé sur le réseau.
Je te conseil de changer write par send.
i il manque un argument, met 0.
à mon avis ça viens du write(). dans send_toserver() De toute façon il n'y a qu'a cet endroit que quelque chose est envoyé sur le réseau.
Je te conseil de changer write par send.
i il manque un argument, met 0.
LaZo61
Messages postés
53
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
24 mai 2007
5
10 mai 2007 à 13:05
10 mai 2007 à 13:05
Ca change rien
di moi tu as pas un client sur la main pour que je test mon serveur :(
di moi tu as pas un client sur la main pour que je test mon serveur :(
LaZo61
Messages postés
53
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
24 mai 2007
5
10 mai 2007 à 13:16
10 mai 2007 à 13:16
ok j test