diff --git a/webserver/.main.c.swp b/webserver/.main.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..7e4f242c1e08c23e2d79416dbb9b57d956fb8bdd Binary files /dev/null and b/webserver/.main.c.swp differ diff --git a/webserver/main.c b/webserver/main.c index 7cfec8f6a083d2e0f8ed18db556b80e6e7ea9be9..25ec063080cfc4c1fe275b2c6d9e72c7f9a9f85a 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 0000000000000000000000000000000000000000..6aa392616fde6c89a8f81d2f3a9ade634c24ffed --- /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 0000000000000000000000000000000000000000..54de55e90dee7e352abe42a1ed15ff948c61e938 --- /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 Binary files /dev/null and b/webserver/main.o differ diff --git a/webserver/makefile.dep b/webserver/makefile.dep new file mode 100644 index 0000000000000000000000000000000000000000..c586ce9aaac3102a886018886e71adcfe128a891 --- /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 Binary files /dev/null and b/webserver/pawnee differ diff --git a/webserver/socket.c b/webserver/socket.c new file mode 100644 index 0000000000000000000000000000000000000000..d5c029208852ecf774647f52da10089c89faedf8 --- /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 0000000000000000000000000000000000000000..b025d31d753b8dcefbd38bf5e5347ddd2cdef469 --- /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 0000000000000000000000000000000000000000..6ac974a75e46218bc6fdd5b7197322184d058b83 --- /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 Binary files /dev/null and b/webserver/socket.o differ