Accueil > Forum > > > > PLEASE REPONDEZ MOI ! ! !
PLEASE REPONDEZ MOI ! ! !
mercredi 26 mars 2003 à 17:59:47 |
PLEASE REPONDEZ MOI ! ! !

marelo87
|
bonjour, voila je suis en train de programmer ma premiere appli reseau (tte simple).... mais pour me compliquer un peu la tache je voulais faire en sorte que mon serveur puisse gerer plusieurs clients.... et la mes pb commence.....j ai a peu pres compris select() qui me parait indispensable.... mais voila j i fai mon serveur a partir d un autre code source (qui marche ca j en suis sur, et d ailleurs qui n est pas d emoi sinon je serais pas ici) et j ai un peu de mal a tout comprendre avec cette satané fonction...... donc voila je sais que ca va etre assez brutale mais je vais mettre une partie de mes sources en esperant qu une ame bienveillante puisse m aider....  /* Inite des listes de sockets */ nfds = 10; FD_ZERO(&afds); FD_SET(serv_sock, &afds);
/* Gestion des clients */ while(1) { /* Copie des listes de sockets */ memcpy(&rfds, &afds, sizeof(rfds));
/* Surveillance des descripteurs en lecture */ if(select(nfds, &rfds, 0, 0, 0) == -1) { /* Signaux non-bloquants */ if(errno == EINTR) continue;
fprintf(stderr, "select: %s", strerror(errno)); exit(1); }
if(FD_ISSET(serv_sock, &rfds)) { taille = sizeof(sonadr); if((client_sock = accept(serv_sock, (struct sockadr *)&sonadr, &taille)) == -1) { fprintf(stderr, "accept: connexion impossible\n"); exit(1); }
printf("Connexion d'un client depuis %s \n", inet_ntoa(sonadr.sin_addr)); fflush(stdout); /*write(client_sock, BIENVENUE, strlen(BIENVENUE)+1);*/ /* Ajout du client dans la socket à surveiller */ FD_SET(client_sock, &afds);
/* Souhaiter la bienvenue au client */ send(client_sock, BIENVENUE, strlen(BIENVENUE)+1, 0); } /*fin du if FD_ISSET */
/* Tester si les sockets clientes ont bougées */ for(fd = 0; fd<nfds; fd++) { if(fd != serv_sock && FD_ISSET(fd, &rfds)) { /* Traiter le client */ if((message = lire_client(fd)) == NULL) { close(fd); FD_CLR(fd, &afds); fprintf(stderr, "-- Perte d'un client --\n"); } else { /* Envoyer le message à tous les clients */ for(c = 0; c < nfds; c++) { if(c != serv_sock && FD_ISSET(c, &afds)) write(c, message, strlen(message)+1); } } }/* fin du if */ }/* fin du for */ }/* fin du while infini */ }
|
|
|
Cette discussion est classée dans : client, sock, serv, fd, afds
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
PING sous protocole TCP [ par ivdz ]
Bonjour, J'ai besoin de votre aide. Je travaille sous C++ Builder 6. Je dois envoyer un message ICMP de Type Echo Request puis récupérer le message
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
communication client/serv SECURISEE [ par neoTHGLF ]
Bonjour, j'aimerais savoir comment je peux creer une application client/serveur en utilisant par exemple le protocole ssl.si vous voulez un exemple, m
arreter un select bloquand depuis un autre thread [ par cosmobob ]
salut,sous windows, j'ai pas de probleme, mais sous linux, quel est le moyen pour qu'un thread qui bloque sur un select bloquant se débloque? shutdown
Un peu d'aide pour un serveur [ par NAVIE ]
Bonjour, voilà mon souci: a l'aide de mon compilateur Dev-C++ Version 4.9.8.10 j'ai crée un socket qui sert de serveur. Cependant même si la compilati
FD_READ [ par argali ]
Bonjour,J'ai un probleme avec FD_READ qui n'est pas appele lorsque mon client envoie un message au serveur, FD_WRITE marche par contre et le serveur p
probléme d'allocation mémoire ? [ par templeofboom ]
dans le cadre du développement d'une application de socket sous devcpp je me retrouve bizarrement coincé a cause d'une erreur d'allocation mémoire à
Besoin d'aide sur les Thread Pour Bot MirC [ par nem02004 ]
Bon voila g fai un bot mirc et en fai jaimerai lammener en 3 fois car ca va etre un bot dannimanimation ki sera en 3 pseudo ( ki parleron ensemble tot
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|