un chti serveur HTTP sous unix [tjs besoin d'aide plz ]

un chti serveur HTTP sous unix [tjs besoin d'aide plz ] - C++ - Programmation

Marsh Posté le 07-01-2003 à 17:42:49    

alors je vous Xplik mon prob en fait g fais mon serveur http ( c un bien grand mot y reponds juste a kke requete lol ) mais le prob c que il ouvert la socket reponds a la demande et apres ferme je c c tout con appriori fodrait un while pour qu'il fasse ca en boucle mais je c pas trop koi mettre comme condition j'ai mis comme condition l'etat de la socket mais ca fais rien en gros y reponds a une requete me balance la page voulu pi ferme la socket et ferme le prog :( donc si kkun peut m'aider.
Merci par avance


Message édité par qxn le 08-01-2003 à 21:55:47
Reply

Marsh Posté le 07-01-2003 à 17:42:49   

Reply

Marsh Posté le 07-01-2003 à 17:46:45    

qxn a écrit :

alors je vous Xplik mon prob en fait g fais mon serveur http ( c un bien grand mot y reponds juste a kke requete lol ) mais le prob c que il ouvert la socket reponds a la demande et apres ferme je c c tout con appriori fodrait un while pour qu'il fasse ca en boucle mais je c pas trop koi mettre comme condition j'ai mis comme condition l'etat de la socket mais ca fais rien en gros y reponds a une requete me balance la page voulu pi ferme la socket et ferme le prog :( donc si kkun peut m'aider.
Merci par avance


 
euh... while(1) ?

Reply

Marsh Posté le 07-01-2003 à 17:49:56    

en fait c plutot kel condition faut il réllement ? pour le serv http et le while je le fais appres le listen ou avant ?

Reply

Marsh Posté le 07-01-2003 à 17:54:19    

while(s = accept(...))
 
man accept

Reply

Marsh Posté le 07-01-2003 à 18:09:54    

lorill a écrit :

while(s = accept(...))
 
man accept


 
je peut pas faire de man accept g pas de shell et g pas unix ( oui je C cygwin suxx mais g que ca sous le coude l'ami)
 
bref g fais  
 

Code :
  1. While( acceptation = accept(communication,(struct sockaddr *) 0, (int *) 0))
  2. {
  3. apres je lis la requete je l'analyse je reponds et je ferme la socket
  4. }


 
bein ca me fais tjs pareil ca ferme apres avoir repondu a ma premiere requete et ca repasse pas en attente de requete :(

Reply

Marsh Posté le 07-01-2003 à 18:13:52    

qxn a écrit :


je peut pas faire de man accept g pas de shell et g pas unix  


 
google les as, mais bon si j'ai mis ca c'est juste parce que j'ai plus les params d'accept en tete
 

qxn a écrit :


apres je lis la requete je l'analyse je reponds et je ferme la socket

tu ferme quoi, acceptation, ou la socket sur laquelle tu acceptes ?

Reply

Marsh Posté le 07-01-2003 à 18:17:21    

lorill a écrit :


 
google les as, mais bon si j'ai mis ca c'est juste parce que j'ai plus les params d'accept en tete
 
tu ferme quoi, acceptation, ou la socket sur laquelle tu acceptes ?


 
ba je fais  
 

Code :
  1. fermeture = shutdown ( communication , 2);
  2.      bye = close (communication);
  3.      bye = close (acceptation);


 
j'imagine que c ca le pb nan ?  

Reply

Marsh Posté le 07-01-2003 à 18:18:43    

qxn a écrit :


 
ba je fais  
 

Code :
  1. fermeture = shutdown ( communication , 2);
  2.      bye = close (communication);
  3.      bye = close (acceptation);


 
j'imagine que c ca le pb nan ?  
 


ben si communication c'est la socket que tu as bindée, celle sur laquelle tu as fait le accept, faut pas la fermer, sinon elle ne peut plus accepter, et du coup au deuxiemme passage accept renvoie zéro (puisque erreur) et le while n'est pas executé

Reply

Marsh Posté le 07-01-2003 à 18:25:25    

lorill a écrit :


ben si communication c'est la socket que tu as bindée, celle sur laquelle tu as fait le accept, faut pas la fermer, sinon elle ne peut plus accepter, et du coup au deuxiemme passage accept renvoie zéro (puisque erreur) et le while n'est pas executé


 
atta la ca me rends fou ;) j'ai mis mes fermeture en comment et ca reponds juste a une requette c l'allu dis je peut te filer mon code que tu me dise ce qui va pas  ?

Reply

Marsh Posté le 07-01-2003 à 18:27:42    

si c'est pas trop gros, je peux jeter un oeil, oui

Reply

Marsh Posté le 07-01-2003 à 18:27:42   

Reply

Marsh Posté le 07-01-2003 à 18:34:01    

lorill a écrit :

si c'est pas trop gros, je peux jeter un oeil, oui


 
send ;)

Reply

Marsh Posté le 07-01-2003 à 18:44:17    

bon déja j'ai dit n'imp, vaut mieux faire while(1) et mettre l'accept dans le while..
 
autre truc : mets des \n apres tes printf, les messages s'affichent  pas toujours quand on veut sinon, et c'est pas super lisible...
 
Sinon, ben t'as un beau return 1 dans le while, ca aide pas  :whistle:

Reply

Marsh Posté le 07-01-2003 à 18:48:13    

ah, par contre n'oublie pas de fermer acceptation, sinon rien ne s'affichera et tu te poseras des questions.

Reply

Marsh Posté le 07-01-2003 à 18:48:50    

lorill a écrit :

bon déja j'ai dit n'imp, vaut mieux faire while(1) et mettre l'accept dans le while..
 
autre truc : mets des \n apres tes printf, les messages s'affichent  pas toujours quand on veut sinon, et c'est pas super lisible...
 
Sinon, ben t'as un beau return 1 dans le while, ca aide pas  :whistle:  


 
 
ba vi le return 1 en fait je voulais tester si tout c t bien passé mais en fait nan lol  
 
 
sinon meme avec while (1 ) ca merde tjs :( je comprends vraiment pas pq

Reply

Marsh Posté le 07-01-2003 à 18:52:31    

t'as du te planter, j'ai fais les modifs que j'ai dit et ca marche...

Reply

Marsh Posté le 08-01-2003 à 19:50:07    

lorill a écrit :

t'as du te planter, j'ai fais les modifs que j'ai dit et ca marche...
 


 
ba nan ca marche pas g droit a un bon segfault ;)

Reply

Marsh Posté le 08-01-2003 à 19:51:00    

qxn a écrit :


ba nan ca marche pas g droit a un bon segfault ;)


www.chezmoicamarche.com  [:sinclaire]  
 
avec gdb il te dit ou ca plante ?

Reply

Marsh Posté le 08-01-2003 à 20:50:27    

lorill a écrit :


www.chezmoicamarche.com  [:sinclaire]  
 
avec gdb il te dit ou ca plante ?


 
g po try avec gdb :(
 
chez moi ca merde avec cygwin et sur la machine unix d'un poto ca marche pas non plus ca merde il affiche accepter puis segfault

Reply

Marsh Posté le 09-01-2003 à 15:21:56    

:bounce:  
 
help needed plz

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed