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
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

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