From ed1bbf9ce78ab64d5493326da9751e8e7c47c11b Mon Sep 17 00:00:00 2001 From: Manax <paul.ripault.etu@univ-lille.fr> Date: Mon, 1 Feb 2021 16:37:17 +0100 Subject: [PATCH] Cotcot --- webserver/main.c | 6 +++-- webserver/main.o | Bin 2776 -> 2968 bytes webserver/pawnee | Bin 17736 -> 17784 bytes webserver/socket.c | 18 +++++++------- webserver/socket.c.save | 51 ---------------------------------------- webserver/socket.o | Bin 4672 -> 4808 bytes 6 files changed, 14 insertions(+), 61 deletions(-) delete mode 100644 webserver/socket.c.save diff --git a/webserver/main.c b/webserver/main.c index 20fc092..e5da6a0 100644 --- a/webserver/main.c +++ b/webserver/main.c @@ -8,7 +8,9 @@ int status; void traitement_signal(int sig) { printf("Signal %d reçu\n", sig); - waitpid(sig,&status,0); + int pid; + while((pid = waitpid(-1,&status,WNOHANG))>0){printf("pid terminated %d\n",pid);} //-1 n'importe quel proccessus + printf("Pourquoi tu marches pas ?"); } @@ -35,7 +37,7 @@ int main(int argc, char **argv) { printf("Don't Panic!\n"); return 42; } - initialiser_signaux(); + initialiser_signaux(); printf("Need an advice?\n"); creer_serveur(8080); return 0; diff --git a/webserver/main.o b/webserver/main.o index fb874988970a6be8d0039de0c50ef3347c5b3b79..cff4429d0ddfdc825257e82d4031154ed7e9210b 100644 GIT binary patch delta 712 zcmca1IzxPd22%vbL@n7^h0fYH-L7vsk9qXkGB7YO>;MrjK*VdYZr49p#CI_=Ffe%Z znu65q|NsC0f3WIK*FVj*e;DddBb&3ah>20BATvdwB(*3vGcU0uHAO)+g^M8|zqF{Z zG(S_Jq*Ng{u_!qswOFAbu~@-=axr7<<nxTGLOCGQ9r*;>n4Edpn9_OJIX1H~IWaQk zO!j0BXUv(rkhz@k?Pf_9c}7O<$&IYyjHZ(nS;ZwCLE0D?7?>Cs7&sXi82*6V_y7NY z@5zCz;*!xwvaAdY3<^+wDoC$k6O_loz`($dq_-a`4l)y@%L>Y$GFgyKoN@N#jjZC5 zTcKhgy@E)3uTFl*DlYjDDho3K=E`Rv6Y2#(;R$s!$ovqfY6++~$V?F=GnJv@Fw<h7 z>NTL^AoZe1>P?Wu`H;k|A>vx#zyevE2{p(8BEf)ekk{mkZ1#*flLgtu8Q)IUWIxXs zI{7ENIadZqGXn#I1Jh(H4l~B7lM6ZQ8K+L($YIYp6>3!N<Ul6j$vm7YoI)UHGcYj7 zf<=5dRhaadCQoD+o1DPJGP#FSh0_44pklHhv+(3IoGMH!*e8GDv}0T`*^tYg@xtUn NE_=oglQ(jy0{{*ot84%O delta 552 zcmbOsenWJE2Gb1oiCVJS0-d#gx?TTt9`oq6Wnf@n*a0G5fQW9_Kf6G*N3SV}>O8)2 z2@~Vw%ZxFT4VYAftUzLpd;)Du&b(};JnS3{o70$_7#Xc5uVfBqw3^JwQqH)0b0v#B zqofW<DFXuo69WSSCj$e+pZ^eGJozE3xM2WPmW6?VfgedW7Ag+X#md0IzzgLkO}@w` z&X_s5kWE~&87c<SD~P0b@#KYU;*#s3vM>`wp!_W$6YB3lc`#XZDE}Fh2AK)c0dws~ zs5nf$K9v6rN`uskBDsNy5h4K+=R*?bgoq1)g9GF-8;CjvzR8B{;*1iLC$if!T1~#l zF3z}n@=NyfjLMUDa+q^*fRr*YFg#$K{ENekF?q5fr#)lx<U&q+&SZ#*3;~ljG6_#U z!>Pi#87d+R7UAJiVZ1QekW+nf1eXNo1*lxb<U(fQ$vs>uOfT3bZ{o6J^qBmS%bu}d OvLUxUqrv1tZgl`p0)hkp diff --git a/webserver/pawnee b/webserver/pawnee index 0b44b9bf2da5f5c07bca4b302ec12129843f68a5..8a6991483167ea05d0bf0fd36affbf54a91418e6 100755 GIT binary patch delta 2535 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 delta 2265 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 BeQy8& diff --git a/webserver/socket.c b/webserver/socket.c index 62c9b0d..bae8558 100644 --- a/webserver/socket.c +++ b/webserver/socket.c @@ -54,20 +54,22 @@ int creer_serveur(int port){ int pid = fork(); if(pid == -1){ - perror("dork fail"); + perror("fork fail"); exit(1); }else if(pid > 0) { //close(socket_client); fait une erreur si on le met - traitement_signal(SIGCHLD); - }else{ + + }else{ // à déplacer ailleurs pour une meilleure lisibilité /* On peut maintenant dialoguer avec le client */ const char *message_bienvenue = "Bonjour, bienvenue sur mon serveur\nExcogitatum est super his, ut homines quidam ignoti, vilitate ipsa parum cavendi ad colligendos rumores per Antiochiae latera cuncta destinarentur relaturi quae audirent. hi peragranter et dissimulanter honoratorum circulis adsistendo pervadendoque divites domus egentium habitu quicquid noscere poterant vel audire latenter intromissi per posticas in regiam nuntiabant, id observantes conspiratione concordi, ut fingerent quaedam et cognita duplicarent in peius, laudes vero supprimerent Caesaris, quas invitis conpluribus formido malorum inpendentium exprimebat.Sed fruatur sane hoc solacio atque hanc insignem ignominiam, quoniam uni praeter se inusta sit, putet esse leviorem, dum modo, cuius exemplo se consolatur, eius exitum expectet, praesertim cum in Albucio nec Pisonis libidines nec audacia Gabini fuerit ac tamen hac una plaga conciderit, ignominia senatus.Post emensos insuperabilis expeditionis eventus languentibus partium animis, quas periculorum varietas fregerat et laborum, nondum tubarum cessante clangore vel milite locato per stationes hibernas, fortunae saevientis procellae tempestates alias rebus infudere communibus per multa illa et dira facinora Caesaris Galli, qui ex squalore imo miseriarum in aetatis adultae primitiis ad principale culmen insperato saltu provectus ultra terminos potestatis delatae procurrens asperitate nimia cuncta foedabat. propinquitate enim regiae stirpis gentilitateque etiam tum Constantini nominis efferebatur in fastus, si plus valuisset, ausurus hostilia in auctorem suae felicitatis, ut videbatur."; - while(1){ - write(socket_client, message_bienvenue, strlen(message_bienvenue)); + + int status = 1; + while(status>0){ + status = write(socket_client, message_bienvenue, strlen(message_bienvenue)); sleep(1); - } - close(socket_client); - initialiser_signaux(); + } //traitement final + printf("fin du client\n"); + close(socket_client); exit(0); } } diff --git a/webserver/socket.c.save b/webserver/socket.c.save deleted file mode 100644 index 626d349..0000000 --- a/webserver/socket.c.save +++ /dev/null @@ -1,51 +0,0 @@ -#include <string.h> -#include <unistd.h> -#include <stdio.h> -#include "socket.h" -#include <netinet/in.h> - -int creer_serveur(int port){ -//socket - int socket_serveur; - socket_serveur = socket(AF_INET, SOCK_STREAM, 0); - if (socket_serveur == -1) { - /* traitement de l'erreur */ - perror("socket_serveur"); - } - /* Utilisation de la socket serveur */ -//bind - struct sockaddr_in saddr; - saddr.sin_family = AF_INET; /* Socket ipv4 */ - saddr.sin_port = htons(port); /* Port d'écoute */ - saddr.sin_addr.s_addr = INADDR_ANY; /* écoute sur toutes les interfaces */ - if (bind(socket_serveur, (struct sockaddr *)&saddr, sizeof(saddr)) == -1){ - perror("bind socker_serveur"); - /* traitement de l'erreur */ - } -//listen - if (listen(socket_serveur, 10) == -1) { - perror("listen socket_serveur"); - /* traitement d'erreur */ - } - - int socket_client; - socket_client = accept(socket_serveur, NULL, NULL); - if (socket_client == -1) { - perror("accept"); - /* traitement d'erreur */ - } - /* On peut maintenant dialoguer avec le client */ - const char *message_bienvenue = "Game of Thrones [geɪm əv θɹoʊnz]a, également appelée Le Trône de fer;b (selon le titre français de l'œuvre romanesque dont elle est adaptée) est une série télévisée américaine de Fantasy1 créée par David Benioff et D. B. Weiss, diffusée entre le 17 avril 2011 et le 19 mai 2019 sur HBO aux États-Unis en simultané sur HBO Canada au Canada. - -Il s'agit de l'adaptation de la série de romans écrits par George R. R. Martin depuis 1996, saga réputée pour son réalisme et par ses nombreuses inspirations tirées d’événements, lieux et personnages historiques réels, tels que la guerre des Deux-Roses, le mur d'Hadrien ou Henri VII Tudor2. - -En France, elle est diffusée depuis le 5 juin 2011 sur OCS Cinechoc, devenue OCS Choc, sur Canal+ depuis le 10 janvier 2013 et rediffusée en clair sur D8 (devenue C8) à partir du 28 octobre 2013 et sur D17 (devenue CStar) en 2014.\n"; - write(socket_client, message_bienvenue, strlen(message_bienvenue)); - - int optval=1; - if (setsockopt(socket_client, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) { - perror("Can not set SO_REUSEADDR option"); - return -1; - } - return 0; -} diff --git a/webserver/socket.o b/webserver/socket.o index 69669a0b4e38637e404419002cd15e253cff4ba0..358fd4b8417552b17f53160f85287dbd889789b5 100644 GIT binary patch delta 578 zcmX@0azb^224lxWO^e9^jItB!co~08?1|+3u}gq~fx)Bm+{F1xtlh3Z_Hj*|qsrgy z`ePRZ0|Uc85Yc&jaxSCF<XlE}mJiLfA0{g@O4c{meqg9y?9s~#QsB|)`r^3jA4UcS zhS$0t-L5Y@I*-4ANF4I$_I=Uq`o*L398|2+_0N8gO0a_F+CL2SXFYmtL8`$b-L7At z3irds7#NE4le1Gx;)_#@%2G><7#JphU<_nT+w8>T&c>UTnWvCas*s$MnVMHJxr0Mt z@-hxJ#(k5|a{Ol8xA`O|KO<w|<cpl*jOAdm7ECsQ$jJ)aS+d0?MLDT?4CO_cC8-R> zIjN}y3<aen#SF<g`NgT5*K<cQF-A>R<P%pd2DzGnfq{jAfkA|Uf#J`82xvzV7o8l- zCq6lbkH>Q%RFsK<fdLdqOW8o)VPIGW6$hCjj%3OPBykBO@m-TA@`_Jx;CsNhZ*n5P zIoAhnh&d9>lNa%uG5uql{E$Oz@&|qm7}G#NgOdSdD+2?=_Q{C?=8W4X&lIp{y21fb yDWJi4W3r^6Jrf82<S0QqP61Acff17z3Yv3fK#lL1{7}%GQ-L2MmpJ($zdQgs&9EB) delta 413 zcmX@1dO&4@1|!2nO$(Mk&9#3fD>6z>tm9?;GqER<^Up2;1_lO?&T|vzE3tOF{@KSh zagHi~x9gu>3=9km`#?nJ@rh9?lXDr_CkHUfdN$X7VW{KTFUY{a@B$?Jdb&q1D~RFI z>H5N>+x3M<=W(!vN9Q4rZr>N(u0K3F&q2lZGs3l9nf!|}oiSx|5|caI<n0{tlW%aS zFwUC%m*Y3%tj#|;`575&CNpx0Gd6?C&dGt?je;dbiJ2v-xv6<2@x__xd5JlbFLH}) ze$O4r#27m{kx$$(4P-t80|OHS0|UrWIUt8IFff!s#aS2_7(^Ku82<c+fUe0C`NSEg zOg_jbKAD660pqO6FZs>6HgH3<U0|B5C1A#QYjUE1J>#v(3kB>sA3zOSIr*i4Ib-K! zML~PUWs?&H?HN~0UMOhK)WA3Sk)R#t0}hA@4wE&7%sCaH=Jij`6f)<U!3U8`WSIPl GUk(5%lzh_w -- GitLab