RÉALISATION D'UN SERVEUR ECHO TCP MULTICLIENT (UNIX)

BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005 - 19 nov. 2003 à 23:34
mickeydisn Messages postés 13 Date d'inscription dimanche 27 octobre 2002 Statut Membre Dernière intervention 23 août 2007 - 5 nov. 2004 à 06:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18023-realisation-d-un-serveur-echo-tcp-multiclient-unix

mickeydisn Messages postés 13 Date d'inscription dimanche 27 octobre 2002 Statut Membre Dernière intervention 23 août 2007
5 nov. 2004 à 06:44
Salut :)
Heu dit on dirait qu'il y a une erreur dans le code :
tu declare un buffer de TAILLE_BUF, puis tu fait un read et recupere le nombre de caractere lus...
Si la taille des donnees a lire est superieure ou egale a TAILLE_BUF, alors tu recupere TAILLE_BUF dans nbOctRecu.
Cependant par "securite" tu fait un :
bufferRecep[nbOctRecu]=0; /* pour terminer la chaine au cas ou */
Hors la ca deborde du tableau dans ce cas : un tab de TAILLE_BUF va de 0 a... TAILLE_BUF - 1.
SEGMENTATION FAULT !!

Tu a du oublier de tester avec un truc superieur a TAILLEBUF :)

Sur ce il est 6 h, je vais me coucher ! bonne journee :-D
cs_jptg Messages postés 1 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 26 novembre 2003
26 nov. 2003 à 23:33
T'aurais pas oublié la librairie MACHINE MOTS ;-)
Utilisateur anonyme
20 nov. 2003 à 22:29
tres bonne source pour debuter les sockets sous unix...
personnellement, je cherche a faire le meme genre de chose sous windows, mais avec des sockets asynchrones, afin de realiser un server XMLSocket pour la communication dedié a des applications flash.
mais tres tres bonne source, tres courte et tres simple ;)
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
19 nov. 2003 à 23:34
il faudrait p-e utiliser les sockets asynchrones (ca ferait un tres bons tutoriel sous unix en plus j'en ai jamais vu), car si tu as 50 clients, tu vas avoir 50 threads ?