From c6daf8781ffcba9724967e2475eab2e0988ed4fd Mon Sep 17 00:00:00 2001 From: "romain.gabet.etu" <romain.gabet.etu@univ-lille.fr> Date: Mon, 18 Jan 2021 16:48:52 +0100 Subject: [PATCH] mise en pratique --- webserver/.main.c.swp | Bin 0 -> 1024 bytes webserver/main.c | 28 +++++++++++++++++++++---- webserver/main.c.save | 8 ++++++++ webserver/main.c.save.1 | 44 ++++++++++++++++++++++++++++++++++++++++ webserver/main.o | Bin 0 -> 2536 bytes webserver/makefile.dep | 2 ++ webserver/pawnee | Bin 0 -> 17040 bytes webserver/socket.c | 30 +++++++++++++++++++++++++++ webserver/socket.c.save | 32 +++++++++++++++++++++++++++++ webserver/socket.h.save | 10 +++++++++ webserver/socket.o | Bin 0 -> 2032 bytes 11 files changed, 150 insertions(+), 4 deletions(-) create mode 100644 webserver/.main.c.swp create mode 100644 webserver/main.c.save create mode 100644 webserver/main.c.save.1 create mode 100644 webserver/main.o create mode 100644 webserver/makefile.dep create mode 100755 webserver/pawnee create mode 100644 webserver/socket.c create mode 100644 webserver/socket.c.save create mode 100644 webserver/socket.h.save create mode 100644 webserver/socket.o diff --git a/webserver/.main.c.swp b/webserver/.main.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..7e4f242c1e08c23e2d79416dbb9b57d956fb8bdd GIT binary patch literal 1024 zcmYc?$V<%2S1{HyVn6{#Tnr59iAkv?MJU2pImD{d&&bbB)rY9ocPcGPO)S+9D9TTd yFRm<(Pb|~VH8C_WOx7<?O)5?;DoZWW&rQtC(@Vx`=cwRl2#kgR$srJmt^)wOU>s!t literal 0 HcmV?d00001 diff --git a/webserver/main.c b/webserver/main.c index 7cfec8f..25ec063 100644 --- a/webserver/main.c +++ b/webserver/main.c @@ -1,12 +1,32 @@ -#include <stdio.h> #include <string.h> -int main(int argc, char **argv) +#include <unistd.h> +#include <stdio.h> +#include "socket.h" +#include <netinet/in.h> + +/*int main(int argc, char **argv) { -/* Arnold Robbins in the LJ of February '95, describing RCS */ + if (argc > 1 && strcmp(argv[1], "-advice") == 0) { printf("Don't Panic!\n"); return 42; } printf("Need an advice?\n"); return 0; -} \ No newline at end of file +}*/ +int main(){ + int socket_serveur = creer_serveur(8080); + 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],\n également appelée Le Trône de ferb selon le titre français de l'œuvre romanesque \n 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,\n diffusée entre le 17 avril 2011 et le 19 mai 2019 sur HBO aux États-Unis en simultané sur HBO Canada au Canada.\n\nIl s'agit de l'adaptation de la série de romans écrits par George R. R. Martin depuis 1996,\n saga réputée pour son réalisme et par ses nombreuses inspirations tirées d’événements, lieux et personnages historiques réels,\n tels que la guerre des Deux-Roses, le mur d'Hadrien ou Henri VII Tudor2."; + write(socket_client, message_bienvenue, strlen(message_bienvenue)); +} + + + + diff --git a/webserver/main.c.save b/webserver/main.c.save new file mode 100644 index 0000000..6aa3926 --- /dev/null +++ b/webserver/main.c.save @@ -0,0 +1,8 @@ +#include <stdio.h> +#include <string.h> +int main() { + + +#include <string.h> + + +} diff --git a/webserver/main.c.save.1 b/webserver/main.c.save.1 new file mode 100644 index 0000000..54de55e --- /dev/null +++ b/webserver/main.c.save.1 @@ -0,0 +1,44 @@ +int main(){ + int socket_serveur = creer_serveur(8080); + 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 = "coucou"; + write(socket_client, message_bienvenue, strlen(message_bienvenue)); +} + + + +#include <stdio.h> +#include <string.h> +#include "socket.h" +/*int main(int argc, char **argv) +{ + +if (argc > 1 && strcmp(argv[1], "-advice") == 0) { +printf("Don't Panic!\n"); +return 42; +} +printf("Need an advice?\n"); +return 0; +}*/ +int main(){ + int socket_serveur = creer_serveur(8080); + 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 = "coucou"; + write(socket_client, message_bienvenue, strlen(message_bienvenue)); +} + + + + diff --git a/webserver/main.o b/webserver/main.o new file mode 100644 index 0000000000000000000000000000000000000000..c0b471352ec248000df7a7e3d2d5da8901848ce6 GIT binary patch literal 2536 zcmb<-^>JfjWMqH=Mg}_u1P><4z_5Z1!FB*M9T<2Sco;%GI-hzpzY*9!L7su(1xTXP z^-s6!pIsp4J`mA)94h>yx%S8ZQXY?9TaYkV(4&_X#P;ZP{ov8<`oROL)}!-~N4M{X zZr2|ko#&upJ3tCg9!^Y7PAw>5U~o^&O;yNGQwYf@%FjzJR)|hdJ-I4Z;pEIRg>ySj z?#w^cl~)z3!=-R|WqM*xYHn&?i9%vQL2Az7m8l9osR|)QhqvUVDx{<;q@@-mDHNyX z<mV~mq$-qTmK3Ebq!lIR9bTT8SqxH;qkeR9X<1RKLQ#HhVqR)-VQH!YmqJQ@UWr0# zPEM*qYH^7|VoG8`$>Ei$I$&ODUaCUz;gv<1sR|{BSLPgES(aH0vNtgoB$%9-39;EN zF|Q=CxYAG|x#;jpkbFU6k%CKNS!RlYQ)*sjep;GBYKel2o`RE}LU?Lsaj_1ULP};@ zS}EAD)I5+&b5a!y%@q>MiZXK)j0_A7K{`NUmI}FvnII8Mh2qj81rH~Gg~ZYdg~OdC zi6zClp?R6b3aNPt#hJOKIVFjChgZT?IVa{NrX(sPmMTD4dR$zdISR$<iRqaokkA18 zHL)Z!KM%}Lgn2au8bZYihgT*SWtJ2xfc)d0nqQQjst}|HLcWPbC7B>?1*MtA3Wk=J zW;$F7#fj;O3Pp!k7L<ZQP@y2dv`C>iKMy37n3GwYn+oz1$f)AfVuif?+@zw^QV=sU zueczy2<(tzg_6vo!z)vZ6;d8G%sjlZ?C{DwaGV$GDCA_OmR5j`NG&SP&&x|pPc2r+ z$Sf|&FUl+|O)XXcY0LqIZAofQu>vS|a}pKOOH+%AK<T4c!6mh{LN_SCI2B}AszPpQ zkwS{PM`B7*W@?^7eyM^-YF<&MLYSwgLP%*!evy$L1B1J>vz3B|OKMVPVxEG9p0S>R zu9+r;0ZPRnECM1J7#J9<f*2Sp1Q?}x*f}OJGBC(6Krl$U07N+Q3A8ae^Rh8z^RRP( z1h8XJo@HV9_#c}rGu9l<z`)GFj7>QMGXo0_ad2+MkYi?G#}ESvFf(9xFf#*EVFFUf zzyMY$gyc@J-x(Mfco`TN1fXh=DP<huhB(A6aEROE5O>2N&XAj!nWvWwrWoSgef*sq zed7Jy+=5+0;zJyrd|cxhl8aJPi{gt@i^@_<ix{8<RzYe}QGO9aaY<25Y92#*QD#Xh z*gJe+k^vmz+zbp1fBr*&Dv~%4lDH{UoQZ*f0TdfB^;S@EP|ShC3?}Xf6^E$@$%BLf zK?DQDUXUAL>LIRzi1Q=as{mCGG6#gATm}Zc;>z5T#3Tm2;*uf=odIJNrRF5+m84db zFzBTumLxLhB^4Jl=oRHdILZ0BpkkRpFE76&RnOfoRJXV!F*%z-53DUUBR;JtF&E|> zxOL<*K<)?S5%iP?smmA`VCfBJK1eN$4Wgx?VFgnU5(D7|P$V!gFsuM^7#JA1KzSOP zo<TwqAcBE`K@BR7p5rz^<<Tj0`*omZlB*w-FF<CZ#2o_z1I+#<XcFi-*AnV}12l(* zKpiBDCJwR-Bm|?Kp!z{#$hZ)yA6X2<hUo*bK{y<$AI+Hz6;S=4{0&kE!|3i0!V!NO z&;$XCCs6!>^nx(RESNaRJ?M6W<TpU=ZvZJ^U|;~{VNPgVf#hNOL1Iv)AYnK*fTkZG hxCn#+H4egIU|<kr0F~EpE}Y>2b$=pU1j0bq4*+`sulE1| literal 0 HcmV?d00001 diff --git a/webserver/makefile.dep b/webserver/makefile.dep new file mode 100644 index 0000000..c586ce9 --- /dev/null +++ b/webserver/makefile.dep @@ -0,0 +1,2 @@ +socket.o: socket.c socket.h +main.o: main.c socket.h diff --git a/webserver/pawnee b/webserver/pawnee new file mode 100755 index 0000000000000000000000000000000000000000..22596ecf85c17e458bbc5e7f7a7a9aaa3eb4dbde GIT binary patch literal 17040 zcmb<-^>JfjWMqH=W(GS35buBhM8p9?F$h>g84L^z4h$9y+zbv3atyKzYzzzxEMPH+ zJWM@|&R~Lw!)Oi&mw_3oZv|8yotA;BgV7*2frLOb$UYDo8~y-t5Ca1PjAnrP1Eh}? zqyfr@iNk1Jkb@W)7+^F^9Hb9yp8`lT0|NsZ9RQYOV1Uuc`an*3p$pOX!WNZofcm=w zO2hPlxFCH$p!$A5^}*-|AO|rpFu-V7c!Hb(!bd;`FfcHn(=HI}8DKO>El4QfX-Nu* z{X_}GV_-n1Vd`NtNG(WZ;M0;6kUK$aVlXV&gP``|3Kt2e`(ZTHyA1j{nMr0Q`Z+1O zIhlE-6}lA`X1Zo3dd2yAM&R@ZG9RSY-7ggE98h#ZjRMPyFff4A97z7Ld-%u9kBa*o z)=h0aC35k`L|@j+Aho;<4B)g6@mC|*9FQ1@aWVB=E{Mj3bC8k-vYIFc1_mKy0VrDy zhd4+r2t$>@DGwa#J8;-5k3&5uSz$9@0*87d9OBb)*vpMWy(I$!12l=j{RC#@WF{qp zqS1_@I6pZ%wS*y~BtNg1p&+%WD8GmyC$qRDHIJdVq$npfk0B{DFNGm7IXShUgdsjY zxgs$>Ei*4MC$lP*AwC{tP<(MoVo^zaZenI0LwQkVNh*W8kEfG!ypf)fo+(4TXNYfn zN@`JRI>^+b5MSq<{JhkV#H1XM{`B1ZJgEM7h*GQy!H#BPfItQ)4N5&A5m5SJ1g9ZT zdITvgmCED<sY(EG7#J8}<p3<-E)axBe1PV2n0NwIJONse!o{Kd8}<-=ptK4~_YfWf z!viF7aCrxnc!4Ai(gPJ{_<$r1iaVJ24<vC|9stQnK<#H|0Qm|e0>KJM;-I_-5oKV| zKoW<Q9UwUaByo^gATbcOKoW=f86@t2B+dyEfMO3MaW1GBhzdXw=K%?f;?WQo4S~@R z7!85Z5Eu=C(GVC70dNR-G{52S=w`jE&%of(dZ2{q{{@fcBOHgpav<Wr=_7pxhX1Nh z^cfiV<sBIQtAh9$AgPxR{{R2~U-gzg149O=3HtH^n12bx2Q`Ra9su)Cf%u>%;mZwR z{vi+_)D(QV0L<S7;)9y1FDHQcn?QU}6ZK^Sn7<0d2Q?927J&Iq`V0(d6F?3CVZ*nc zofqRgIv;s7Klu<4;?v9O#l*ni(aZao5k%R>Gcqvz7yYKk!0?4%-UTdF2=Z$$YZi#I z{81w6(am~J58{2!{}1@(8$jkBhSDCrwvHf$y{1+mO7ow`!GFviogX|7zOeUTJmzun zUx|oEH|tWU0UZAyq=D^$>2I)Q)MsE|DAf=3Xtr(BV_;zL=zLnj<I!#VNRNTxh3^0V z|6gSM|Ns9O>rFid2F6&JJ{bM7`v3p`p&p%2J(}Mbbk^S41#;XzP;l=Dh4G6!|Nj5) zbp6v@`{#ctk4LYq0Urayi{=0R|4%#a`hba{+w~6r_5+>AU!;J9I$a+fcYOjf!K2sr zLAUFlU7&7?N9VcD<1do`{r}(m17gT8UIvC2N&o);?{@vO57eseJpRHMN&X#3-U%Xq z@-WnO0{bV(Gcdde_z!jv$Z(KF`#?nJ@fRv!cm8Oug<5e0WW@i!|NndRvL4_Cg^KG3 zk8alw9-YTutN;mj9`fk+{m||D1LC}vzyJU50GW02aGD;!d<%%lz%S3>81C75-7(Cw z^P6L+W9MJT5T9OE0c{3`P>)_+5FPBJ2?{!n7s4Pz5B_B?kv6=|FVEo9`OByCn@i_= z$NwUCJem(PdRX2qeFaMU(Xoy(j<Jq$j`4^2<rzRZ0h~uras}A-QDQU%MnhmU1V%$( zGz3ONU^E0qLtr!nMnhmU1cp=yFfuSfC*I<VQ;W({ON+p>YzpAXxFWb1WF8J8S^^hk zV1UiWF}Nq@rYhv8DTHJc<>#dqD@3QKo?MlyaB^mu!nqwMcjlk!%Bzai;ZiufGCeUT zH8(Y{L?N-DAT{Uk%2WlPRE3bD!&~xF6;e_a(o&0(6pB-G^79mOQWZ)vONvqz(uxxE z4lhs4ECwmaQ9nAlw5%vqp(sB$F)y{auryVHOCcpcuS6j=Cnr@QwYWqfF(t8}<nYQ= z9WbvnFIA!V@XDghRE3hmD{~I7EXyng*_)UP5=>6agxKtsm{*cmTxqC~Ty%IPNWLJk zNWmqsEHg#HDK#%MKP^omwM4;1Pr*q~Av`s+xLAivAtf^{trTonY97d?IjIVU<_d{r zMVUDYMh1q4ARQnvONHFTOpu7BLUC!4f`^m8LSku!!r{)6#FAp&(7eoIh15KS;>_IA zoRY-6!z<ycoD=gBQxX*tOBEn2JuWWK9ED=_#PrM(NN9llnpl#Vp9khA!n~RS4WVL% z!z+`EGE0gTK>l%0%`Zw%RS41pA>YKJl1z}cg3`=l1w%_qGaW94;>7esg`&eN3rayD zs8En!TBJ~%p9d03%*iayO$GT0WK?l#u|i&cZc<TdDTtYwS6q-;1a?TVLP=)P;gzYy z3Mr2oW*%Nyc6enTIL?c86ml|CODn)eq!tzD=jA1)rxq(@WEPj?7iAWfrWPxJH0FT9 zwj?#DSOFBfIf)ACrKv?lp!89!;F4Nep&OK6oC-25RUx;uNFhbtBQd2YGc`{kzf{2^ zHLoaBA<WZLA*3`VzsN|Bfl->-8Z;dU8bq>r`~QCr0|UdExBvfdVPIgm^Y;J$7zPH0 zgYW+TKf}Pl5dZ%F|2H7<_y7O%FfuUMeE9!Agpq*(w0;1Tu^Fp^7#J%A7^QjGIVLc& z3xLEyYg8)U{{OEHQUJvuaS#(#Jp+RZ0|Ns{{famL|APmy_ypYeB)s^!%Q+et?4_)= zj8(wX<RJZ^H5USJ|Nlpx2L<T`x%chc|NrNKEO6u#Xk&8bWn-Gj!_EOQyM}>*A^Y9` z{{<-W*<g8)nR6Hz7*4$V|34Na@5Cq2&*aJ{(Z}q{r_jsd%BRu8>cMBw#^%9i(ai47 z=a9u`;mBv;$fx1Nr{KgV;lwB4#K!?%t^yiKdhqW5f6!<Y$f!{~8UmvsFd71*Aut*O zqaiRF0;3@?ctQZS&Jeb)5Y}dc(eO2Lpcz311_s!gKNVq!A0#0ZeEp&{ln-m0N<sOs zb&Q~PDo6+>|MlPhd@vt06U@NC0GjXx@f$!h!3+%Gb>twv0aP9|>j>g+1Q84j46wC{ zpmnMsAyE*4grV9%i_^iPpvh4X;{b?YK(yaMeE^V<IEY|iU@!p9G&3+Tz{Crn4uiQH zrXRNE5N7}H{}BH$Fff3X{)6%Zp!)wq`LOW)0OcD&<$pr?aCbx9LvISUt{mN7GiW++ zgVJG8It@yfLFqOqJq=1PgVHebVCz@iot>=|G+a`XG86L@EcA@^40O#jAq<#OoHR27 zBLi%I0J0)x1}6AAcT{m^h9|HDfF!}pz{0?RCBT^(SQ%jH4oNu!GXom~EPbMivopZr z5mlUn0T%zL;+zbybcHI;1y6sd;@k}24i>T?c>OvLg92Lkf|M{b@G@+`D$d6M+s6S? z2gA$^{0y*s4HE;=%pgl)`x`(4P|VCA2;Ua~6#`St3_=VV%3vl6!OS2GFDH;Cm>EPE zVC4g<xF`d*bjZvg#sFLAjH+H7p3hOmB^V+=9erd$aJWe_WMCDCm0Ac5p!~|h@bN!F z1i}K9k4y}F3?I<KnGd`UnvX#Nx?UTint?$PDh?}eVdCcCJq8H(fb0Xwxq-zo!w0nK z0Aw$${06B7;YzT2%y6Co-dBU^{)ITiLH1+w?+UQ_LJU5j0Sl0YNEn;?ZD4s}jQBkc zHU~3)FF@79*29Cj3=9m9!3@mw_6=+fX1u>(1g%5I%rBs^8zBZh1_fyS1@b4zXc<Pt z79J2EhF5^aG1HF)Bli6p-i)9uDuI!%#6aqqF!NUsNE~Jv5}k%ayb>(V$FLNduE1kG z3=9nIU~wb^pv+}Z_n@c$&0v2)6(LcF7#SD@nIsrs<ugp`JV+d=9Dr8O4EMnH@-ZBM zZXN-T9WgL4yaS8FbR+0P4509lWGFz(cWc1v5#<tW%#4W%q8>e;@-czJpO3*AYA<+9 zi-Cbb7%Yyk55`i(A#RC7+?NRw4(RqqGGR|A#Z1`uvGn6GpCP%Zq`0IsEln?(0kQQY zz9ct38MOJNm?1tsB|knrCqF4MCqAVlzo<Aqv9y9AIX|}`C$%IsMbF&W$P~LG(B_xS z_{5^3#L9Tk=yN4QT2W$dYJ5s*Zf+$*d^{2_J~J<~1Vt%$e7{65nE|v{MlYEmKHe?J z(bqNJ)z2k9o*^DpLkdH@OQfHpuctGr40yK<LwvluUue9m2h;=)mmr3CcOQQzN1u3q zH@9HdkoXWsCm&akso*_2$;G8$r$aW`AOZztKMr{Jj)Mcr_MOy}#F9klULaH{@SY)5 zq2!{}RK)xR#`Yjo#qseVqanM07~<nmw*tkd6z9ihB<7`nwh4Lq#}}8RWah<}7N@4b zb{&Cy1PWp3b|rMPlZuO>MuP$yJimgf1hUx)RSdGt2~{jUKE&4<7Db@VOhwqYG9mAb zLNx&r?Wkf5dc~EwC5cH4dc`G05IO_K%FHWCEh=Ep%gZlG)pK<6)GbL&hw{?%O7)UT zGjmdOGgBD!K)j5^;tU48l*+u~%3KItQUsAHOD!tS%+EvN#1}E>6{Y4Rf;2!`1vw=Q zdf<T6E66F)OV2N1&?`x;C}Ge`%goDU&@0LZMH7QwY6diMXQUJ%co40SR1VPrW2aQ+ zCFW)(Gk{D4narREF(;|Gm_aW&KNmC|1uH-(q(S{6P+bFSe!|+VFdEh`f>{Gn3uA+5 zP;&~@7lG+V-^YpGJcE_bAiW@L2<^+j^uyZ0FdDr&N7oOUANcnFe?Ck<ti24QVfvxn z7)a*_WHA)`LHlYj{jhd5j1GW$7}V_oF~OZD1_lOLzbXveUIW$X5CdWDZx{{h4?<)? z`|V&X2pz}3zyRud!R&{%(_u6${9*2gse{qk3=9mQz8s7XYtO@ISoov6A7VQLLlwB4 zg>XNt-4CN-{YjYp=>7*SYz4)M6VyOh{}e_e>j(8=(e?L%+ewK2G^i>E8wG8*g7kp- zPy%EZlnJIf(e%Um8!#F?X9ZRXA)v;>t(k(RAJ#8{(J=QybVEDOuue1s1H)W2{jmNE zj823_4AcOa{ZKB$Vl@4*eh!T0geip5=>A^`)epA@7U57DmXDy?G15OMeS*?8Oh2yu z)G+<%_U}itAJ)Hu(;&lPnvuc{CUla4fdSMffpv3X?Q7V6YeM0Fm4ShQADRb2X2SYw zA3z(2vDgPQ4@N(Pj^)7YhxO}V``Kap)<O9PWIjwEEFMAq7mycW`eFUQ8=zJ63=9k! zAWcXZrXNPXf`%VVKLf1&X#mj_0ioa|OdpK?jHVyfo{oU(hq)7G08Af@{}UQUF#BQc z$_%J}boC&=!t{dZe^C3O%0WV44AT!Qzrcb}wIDXk91smldmwQb?tmJ20~+ukb3nTh wVD5pHzo7g9b305gh)w`?Tp1V`7NZ#svJWH=!=Ua8HvP<25Eblb8ql~502dKBF#rGn literal 0 HcmV?d00001 diff --git a/webserver/socket.c b/webserver/socket.c new file mode 100644 index 0000000..d5c0292 --- /dev/null +++ b/webserver/socket.c @@ -0,0 +1,30 @@ +#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 */ + } + return socket_serveur; +} diff --git a/webserver/socket.c.save b/webserver/socket.c.save new file mode 100644 index 0000000..b025d31 --- /dev/null +++ b/webserver/socket.c.save @@ -0,0 +1,32 @@ +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(8080); /* 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 main(){ + if (listen(socket_serveur, 10) == -1) +{ +perror("listen socket_serveur"); +/* traitement d'erreur */ +} +} diff --git a/webserver/socket.h.save b/webserver/socket.h.save new file mode 100644 index 0000000..6ac974a --- /dev/null +++ b/webserver/socket.h.save @@ -0,0 +1,10 @@ +#ifndef __SOCKET_H__ +#define __SOCKET_H__ +/** Crée une socket serveur qui écoute sur toute les interfaces IPv4 +de la machine sur le port passé en paramètre. La socket retournée +doit pouvoir être utilisée directement par un appel à accept. +La fonction retourne -1 en cas d'erreur ou le descripteur de la +socket créée. */ +int creer_serveur(int port); +#endif + diff --git a/webserver/socket.o b/webserver/socket.o new file mode 100644 index 0000000000000000000000000000000000000000..2047ac6a54418f876f2a477dc87d716992fae6fc GIT binary patch literal 2032 zcmb<-^>JfjWMqH=Mg}_u1P><4z_5V@!FB*M9T<2Sco;%GI-hzpzcJ{ny|W7>ybq*# zKNAB3!wV3%)Adht?VtapJRZHaAU;?y?YQd$CWda;JN(-ZbRLHYb-F$}?)n6z#G}{u zLAUFlT>=aY3?7~5pbDCQpc&Hb`ez>(0|Nsd`ICo>^OLhvOX7=Di^@_<ix`qJ^HLPR zVnuMVoXp~q)I5kNLM4N{v$K_ghD&NvW@4U#g`TmVfv%Y*gaL9Sg9w;pU|_5YVqmNg zV3g)z=a|6Az#zi_!64~*Ai|MPppD6ymyKyA4?71)06PW+8w<n7|JY=ivBn4k12Y3N zHsuV=3`miMq=K1&6^VynGBdCvI7lpJ2J8-IW?(~71!01sLI}y7V81gkFi0>kFo0qb zq6$Ik;Se{)A#Q_1+zE%cI}ULMaP*hxB{L)!rKTd1LA<+<zmua+yuX`Uuxm(sh@+E_ zYdlmjLqTd$QGO9aMoE5NF*p%1KvE3@1A{cwOP~<vW?*3W^B)4Vq2i#N019=OxB*lg zq@D*!y)%+HFOql)k~kldcmY%#W<JPnkWeXzU|;~J0A%x9ki_|s%$WcchnXV}<xhpu z=<Za2ii6aHFqF%{pjTX(TauW>pjTW{1fervtfJJMM7@&KiV_CBl*E!m2EC->Vg|jU zd<Z8wKQ}iuuY^G_FTW&J&)qLnx40xRIh#QbtSvPoKCLJ*Hx+IVg$$7UL3s^51w+a- z1_oHVg;@hq3uA+5P<(^J1g0J&2Eq=|toQ-MVPIeY<p+>nSPlZ^1CW#&0|PjhK$U}p z!1x}R#3VpwAdBiSFo1I<x%v&E_M^ld0|NuheoJJ_plXqYK=L3r!O}5IP8=l2z`!62 z6M)iCVX&V;LZJK#69e&K*aVv(7W>1YV(9L-fa<q^83?6e;Sc391VQr#di)uHA{AO* zfz*QH52P1_L3~*JfviEd8zf%<l3-w9Xn@k7{KyH7E08=)KS&Hc?m+S%poaQ^I7k?3 Z99%?@0aWh8xp0OD)cuKY5eNfaKL8W8>dF8B literal 0 HcmV?d00001 -- GitLab