begin process at 2012 05 28 14:25:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Boucle de connection client TCP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Boucle de connection client TCP

mercredi 9 août 2006 à 04:49:13 | Boucle de connection client TCP

ssmint

Bonjour à tous,

Mon dernier souci en date est de pouvoir créer une un client qui essaie de se connecter toutes les secondes.
Je fais donc une boucle avec la fonction connect mais lorsque j'execute mon server le client continu à tourner dans la boucle...
Pour l'instant, la seule solution que j'ai trouvé est de faire un autre programme qui exécute mon server toutes les secondes... pas terrible!

Voici mon code :

#include<stdio.h> 
#include<winsock2.h>
#include<string.h>


main()
{

    // VARIABLES : 

    WSADATA wsa;          
    SOCKET sock;      
    SOCKADDR_IN sin;
    char buffer[100];        
   
    // STYLE :

    system("color a");
    system("cls");
    system("TITLE TCP client by Ssmint");

    // Connection :
   
    WSAStartup(MAKEWORD(2,0),&wsa);
  
    sin.sin_family=AF_INET;
    sin.sin_addr.s_addr=inet_addr("127.0.0.1");
    sin.sin_port=htons(1234);
 
    sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);     
    bind(sock,(SOCKADDR*)&sin,sizeof(sin));
 
 while(connect(sock,(SOCKADDR*)&sin,sizeof(sin)))      // BOUCLE QUI MERDE!!!
 {                                               
      printf("\nServer shut down...\n");
      Sleep(1000);
         
 }

 printf("\nConnection : Ok\n");
 
 //ect...
}

Merci d'avance à bientôt..

mercredi 9 août 2006 à 09:11:58 | Re : Boucle de connection client TCP

turnerom

Réponse acceptée !
Salut,
essaye ca


#include<stdio.h>
#include<winsock2.h>
#include<string.h>


main()
{

// VARIABLES :

WSADATAwsa;
SOCKETsock;
SOCKADDR_INsin;
charbuffer[100];

// STYLE :

system("color a");
system("cls");
system("TITLE TCP client by Ssmint");

// Connection :

WSAStartup(MAKEWORD(2,2),&wsa);

sin.sin_family=AF_INET;
sin.sin_addr.s_addr=inet_addr("127.0.0.1");
sin.sin_port=htons(1234);

sock=socket(AF_INET,SOCK_STREAM,0);


while(connect(sock,(SOCKADDR*)&sin,sizeof(sin))!=0)// BOUCLE QUI MERDE!!!
{
printf("\nServer shut down...\n");
Sleep(1000);

}

printf("\nConnection : Ok\n");

//ect...
}


TuRn3r
mercredi 9 août 2006 à 09:50:08 | Re : Boucle de connection client TCP

yoyo269

Membre Club
Réponse acceptée !
Pour simplifier ce qu'a mis turnerom, il ne faut que tu te serves de la fonction bind pour un client.
Par contre elle peut t'être utile pour ton serveur.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

mercredi 9 août 2006 à 09:58:32 | Re : Boucle de connection client TCP

turnerom

Réponse acceptée !
(yoyo269) entre autre oui, bien que bind puisse être utilisé par un client pour choisir le port local où binder la socket, mais c'est souvent sans importance.
Puis dans la fonction socket, moi je met toujours le 3e argument à 0 ainsi que dans WSAStartup MAKEWORD(2,2)


Sinon petite question en passant, ton serveur est bien sur le même Pc et ecoute bien le port 1234 ???
La question peut paraitre bête mais ellle est souvent une cause de problèmes

TuRn3r
mercredi 9 août 2006 à 10:01:48 | Re : Boucle de connection client TCP

yoyo269

Membre Club
Houla oui j'avais pas vu le coup de la version des sockets lancés. En effet c'est important de le souligner.
Merci turnerom de l'avoir préciser.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

mercredi 9 août 2006 à 21:56:28 | Re : Boucle de connection client TCP

ssmint

Ca marche nickel merci à vous.

 



Cette discussion est classée dans : boucle, client, sin, sock, tcp


Répondre à ce message

Sujets en rapport avec ce message

PROBLEME CLIENT SERVER [ par zzzzzz ] Mon client marche c sur et il envoie bien abcd mais monserver marche po je suis debutant en server socket... :(je sais pas comment faire en sorte que Probleme de Client Serveur [ par Krox68 ] voila jaimerais faire un programme client qui puisse se connecter a ce serveur : #include void main(){ WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WS client serveur [ par elanspeech ] Bonjour,Je suis en train de programmer un petit client serveur en C pour windows avec dev-c++. J'obtiens l'erreur suivante a la compilation : D:\DEV-C Problème fermeture socket [ par alexixlebaulois ] Salut,Je suis en train de créer une appli qui communique avec plusieurs serveurs pour récupérer leur état. Toutes les communications se font en même t Fiabiliser transfert par socket [ par masseur ] Salut. Je vais vous expliquer mon petit problème. Je crée un client et un serveur. Des que le serveur recoit une demande il envoie un fichier en ut socket tcp [ par sendouda ] salut tout le monde;j'essaie d'envoyer des paquets TCP avec sock raw il n' ya pas d'erreurs mais je ne les capte pas avec le sniffer Ethereal.Ce même Client serveur [ par fanch314 ] Je que le serveur et le client échange par internet.Le serveur ne voit pas de client connectéEt le buffer du client contient nimporte quoi.En gros ils Problème d'IP Client avec les winsock [ par Cphil51 ] Boujour a tous.Je m'interesse en ce moment aux socket sous windows et j'ai un petit probleme actuellement. J'aimerais savoir comment récupérer l'IP d' erreur serveur multitheard en c [ par dyroj ] salut,j'ai créer un serveur echo en multithread et il marche a moitier sofe que par foi il confon les client.enfin c'est un peut bizare, par exemple q Client / Serveur => Je m'enmèle les pinceaux avec le buffer, les boucles etc. [C] [ par matad0r ] Bonjour, bonjour!J'ai récemment créé une petite application client/serveur de rien du tout (je suis débutant), en m'aidant de ça : http://c.developpez


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,246 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales