diff --git a/webserver/.main.c.swp b/webserver/.main.c.swp index 7e4f242c1e08c23e2d79416dbb9b57d956fb8bdd..496bc60c5231c8597253fcd34b69942c25a33cb3 100644 Binary files a/webserver/.main.c.swp and b/webserver/.main.c.swp differ diff --git a/webserver/.socket.c.swp b/webserver/.socket.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..bf38423ec43768d57b1a102d91de632b6183afc1 Binary files /dev/null and b/webserver/.socket.c.swp differ diff --git a/webserver/main.c b/webserver/main.c index 25ec063080cfc4c1fe275b2c6d9e72c7f9a9f85a..ee5675d5418fc40749e4b06efd5311a096e7eea2 100644 --- a/webserver/main.c +++ b/webserver/main.c @@ -1,32 +1,14 @@ -#include <string.h> -#include <unistd.h> #include <stdio.h> +#include <string.h> #include "socket.h" -#include <netinet/in.h> - -/*int main(int argc, char **argv) -{ - -if (argc > 1 && strcmp(argv[1], "-advice") == 0) { -printf("Don't Panic!\n"); -return 42; +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"); + creer_serveur(8000); + return 0; } -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 = "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 deleted file mode 100644 index 6aa392616fde6c89a8f81d2f3a9ade634c24ffed..0000000000000000000000000000000000000000 --- a/webserver/main.c.save +++ /dev/null @@ -1,8 +0,0 @@ -#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 deleted file mode 100644 index 54de55e90dee7e352abe42a1ed15ff948c61e938..0000000000000000000000000000000000000000 --- a/webserver/main.c.save.1 +++ /dev/null @@ -1,44 +0,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)); -} - - - -#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 index c0b471352ec248000df7a7e3d2d5da8901848ce6..66ba89014cc4c02201c83b813526e5e3f4212a79 100644 Binary files a/webserver/main.o and b/webserver/main.o differ diff --git a/webserver/pawnee b/webserver/pawnee index 22596ecf85c17e458bbc5e7f7a7a9aaa3eb4dbde..4f4a270798d6654486aaf1eb80210ccc4a3215e8 100755 Binary files a/webserver/pawnee and b/webserver/pawnee differ diff --git a/webserver/socket.c b/webserver/socket.c index d5c029208852ecf774647f52da10089c89faedf8..43a57ea70af5eb3d67d0b8139d45185df7cf96af 100644 --- a/webserver/socket.c +++ b/webserver/socket.c @@ -3,6 +3,7 @@ #include <stdio.h> #include "socket.h" #include <netinet/in.h> + int creer_serveur(int port){ //socket int socket_serveur; @@ -26,5 +27,21 @@ int creer_serveur(int port){ perror("listen socket_serveur"); /* traitement d'erreur */ } - return socket_serveur; + + 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 = "Bonjour, bienvenue sur mon serveur\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.c.save b/webserver/socket.c.save deleted file mode 100644 index b025d31d753b8dcefbd38bf5e5347ddd2cdef469..0000000000000000000000000000000000000000 --- a/webserver/socket.c.save +++ /dev/null @@ -1,32 +0,0 @@ -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 deleted file mode 100644 index 6ac974a75e46218bc6fdd5b7197322184d058b83..0000000000000000000000000000000000000000 --- a/webserver/socket.h.save +++ /dev/null @@ -1,10 +0,0 @@ -#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 index 2047ac6a54418f876f2a477dc87d716992fae6fc..cf6b2dba1e829ffbbe69290cee5ed63efecea437 100644 Binary files a/webserver/socket.o and b/webserver/socket.o differ