From 61fb5ea595fa93c95e384f9a38a0e0c0de46dcdd Mon Sep 17 00:00:00 2001 From: hugogogo Date: Fri, 22 Jul 2022 22:03:56 +0200 Subject: [PATCH] renamed main in hugo --- srcs/main.cpp | 24 ------- srcs/main_hugo.cpp | 169 ++++----------------------------------------- webserv | Bin 201216 -> 201224 bytes 3 files changed, 15 insertions(+), 178 deletions(-) delete mode 100644 srcs/main.cpp diff --git a/srcs/main.cpp b/srcs/main.cpp deleted file mode 100644 index 9cd079c..0000000 --- a/srcs/main.cpp +++ /dev/null @@ -1,24 +0,0 @@ - -#include -#include -#include -#include "Webserv.hpp" - -int main(void) -{ - try - { - Webserv serv; - - // https://security.stackexchange.com/questions/169213/how-to-chose-a-port-to-run-an-application-on-localhost - serv.bind(4040); - serv.listen(20); - serv.start(3 * 60 * 1000, 8192); - } - catch (std::exception& e) - { - std::cout << e.what() << '\n'; - } - return (0); -} - diff --git a/srcs/main_hugo.cpp b/srcs/main_hugo.cpp index ec98b84..9cd079c 100644 --- a/srcs/main_hugo.cpp +++ b/srcs/main_hugo.cpp @@ -1,163 +1,24 @@ -# include // close -# include // exit -# include // cout, cin -# include // errno -# include // perror -# include // memset -# include // socket, accept, listen, send, recv, bind, connect, setsockopt, getsockname -# include // sockaddr_in -# include // inet_ntoa, inet_addr, htonl, htons, ntohl, ntohs -# include // poll -# include // fcntl +#include +#include +#include +#include "Webserv.hpp" -# define INVALID -1 -# define BACKLOG 20 -// test with curl http://localhost:PORT (replace PORT by the port number you choose below) -# define PORT 4040 -# define BUFSIZE 8192 -# define MSG_TEST "Le Webserv / 20 =D\n" -# define MSG_BOUNCE "bounced properly ;)\n" - -int main() +int main(void) { - struct sockaddr_in my_addr, their_addr; - int sckt_fd, axpt_fd, lstn, ret; - socklen_t addr_len; - struct pollfd poll_s; - char buf[BUFSIZE]; - - - // --------------------------------------------------------------------------- // - // SOCKET // - // // - // --------------------------------------------------------------------------- // - sckt_fd = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0); - if (sckt_fd == INVALID) + try { - perror("err socket()"); - return 0; + Webserv serv; + + // https://security.stackexchange.com/questions/169213/how-to-chose-a-port-to-run-an-application-on-localhost + serv.bind(4040); + serv.listen(20); + serv.start(3 * 60 * 1000, 8192); } - std::cout << "server init\n"; - - - // --------------------------------------------------------------------------- // - // BIND // - // // - // --------------------------------------------------------------------------- // - memset(&my_addr, 0, sizeof(my_addr)); - my_addr.sin_family = AF_INET; - my_addr.sin_port = htons(PORT); - my_addr.sin_addr.s_addr = htonl(INADDR_ANY); - // my_addr.sin_addr.s_addr = inet_addr("10.12.110.57"); - bind(sckt_fd, (struct sockaddr *)&my_addr, sizeof(my_addr)); - if (sckt_fd == INVALID) + catch (std::exception& e) { - perror("err bind()"); - return 0; + std::cout << e.what() << '\n'; } - std::cout << "socket bind to port: " << PORT << "\n"; - // https://beej.us/guide/bgnet/html/index-wide.html#cb29 : - // - // Sometimes, you might notice, you try to rerun a server and bind() fails, claiming “Address already in use.” What does that mean? Well, a little bit of a socket that was connected is still hanging around in the kernel, and it’s hogging the port. You can either wait for it to clear (a minute or so), or add code to your program allowing it to reuse the port, like this: - // - // int yes=1; - // - // // lose the pesky "Address already in use" error message - // if (setsockopt(listener,SOL_SOCKET,SO_REUSEADDR,&yes,sizeof yes) == -1) { - // perror("setsockopt"); - // exit(1); - // } - - - // --------------------------------------------------------------------------- // - // LISTEN // - // mark the socket as passive, to receive incoming connection requests // - // --------------------------------------------------------------------------- // - lstn = listen(sckt_fd, BACKLOG); - if (lstn == INVALID) - { - perror("err listen()"); - return 0; - } - std::cout << "server listening\n"; - - while (1) - { - - // ----------------------------------------------------------------------- // - // ACCEPT // - // extract first connection request in the queue of the listening socket // - // and creates a new socket that is connected, and returns it // - // ----------------------------------------------------------------------- // - addr_len = sizeof(their_addr); - axpt_fd = accept(sckt_fd, (sockaddr*)&their_addr, &addr_len); - if (axpt_fd == INVALID) - { - perror("err accept()"); - continue; - } - std::cout << "server accepted a socket from: " - << inet_ntoa(their_addr.sin_addr) - << "\n"; - - - ///////////////////// - // luke version - ///////////////////// - - - // ----------------------------------------------------------------------- // - // FCNTL // - // manipulate the new socket fd to mark it as non-blocking // - // ----------------------------------------------------------------------- // - fcntl(axpt_fd, F_SETFL, O_NONBLOCK); - - - // ----------------------------------------------------------------------- // - // POLL // - // waits for an event on the axpt_fd : there is data to read // - // ----------------------------------------------------------------------- // - poll_s.fd = axpt_fd; - poll_s.events = POLLIN; // We need a way to valid POLLOUT and POLLIN at the same time (both, not one of them) - poll(&poll_s, 1, -1); - std::cout << "poll()\n"; - - - // ----------------------------------------------------------------------- // - // RECV // - // act as read, read the data of the socket created by accept() // - // ----------------------------------------------------------------------- // - ret = recv(axpt_fd, buf, BUFSIZE, 0); - if (ret == -1) - { - perror("err recv()"); - if (send(axpt_fd, MSG_BOUNCE, sizeof MSG_BOUNCE - 1, 0) == -1) - perror("err send()"); - close(axpt_fd); - continue; - } - std::cout << "recv()\n"; - buf[ret] = '\0'; - - - // ----------------------------------------------------------------------- // - // SEND // - // act as write, write data in the socket created by accept() // - // ----------------------------------------------------------------------- // - std::cout << "send()\n"; - if (send(axpt_fd, buf, ret, 0) == -1) // echo the read - perror("err send()"); - if (send(axpt_fd, MSG_TEST, sizeof MSG_TEST - 1, 0) == -1) - perror("err send()"); - - // ----------------------------------------------------------------------- // - // CLOSE // - // close the file descriptor of the connected socket // - // ----------------------------------------------------------------------- // - close(axpt_fd); - } - - return 0; + return (0); } diff --git a/webserv b/webserv index 2c4c70ece11a11424867bfccbc94204e2999adcd..0c070e500f2f525baced64401c6d55f30b0c3e6e 100755 GIT binary patch delta 46517 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

- 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 O>b(G`$px=p@Bae<$3HLt delta 46464 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

)o8(cGzCzofvuSN=LO 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