From 4e41bf3aa1dfb7d4c17abb7be3529fc5a5a2f554 Mon Sep 17 00:00:00 2001 From: adjoly Date: Thu, 18 Sep 2025 21:32:46 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=8F=97=EF=B8=8F=E3=80=8D=20wip:?= =?UTF-8?q?=20wtf=20is=20going=20on?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .clang-format | 5 ++ 3 | 22 +++++++ mini_serv.c | 78 +++++++++++++++++++++++++ subjects/{mini_serv => }/main.c | 0 subjects/{mini_serv => }/server.py | 0 subjects/{mini_serv => }/subject.en.txt | 0 subjects/{mini_serv => }/subject.hy.txt | 0 subjects/{mini_serv => }/subject.ru.txt | 0 8 files changed, 105 insertions(+) create mode 100644 .clang-format create mode 100644 3 rename subjects/{mini_serv => }/main.c (100%) rename subjects/{mini_serv => }/server.py (100%) rename subjects/{mini_serv => }/subject.en.txt (100%) rename subjects/{mini_serv => }/subject.hy.txt (100%) rename subjects/{mini_serv => }/subject.ru.txt (100%) diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..7a2deec --- /dev/null +++ b/.clang-format @@ -0,0 +1,5 @@ +UseTab: Always +IndentWidth: 4 +TabWidth: 4 +AlignConsecutiveDeclarations: true +ConstructorInitializerIndentWidth: 4 diff --git a/3 b/3 new file mode 100644 index 0000000..681b908 --- /dev/null +++ b/3 @@ -0,0 +1,22 @@ +#include +#include +#include +#include +#include +#include +#include + +char recv_buf[3000]; +char send_buf[3000]; + +int maxfd; +int lastid = 0; +int sockfd; + +int main(int ac, char **av) { + + sockfd = socket(AF_INET, SOCK_STREAM, 0); + + while (1) { + } +} diff --git a/mini_serv.c b/mini_serv.c index e69de29..1a09525 100644 --- a/mini_serv.c +++ b/mini_serv.c @@ -0,0 +1,78 @@ +#include +#include +#include +#include +#include +#include +#include + +typedef struct { + int id; + char *msg; +} t_client; + +t_client clients[FD_SETSIZE]; + +char recv_buf[3000]; +char send_buf[3000]; + +int maxfd; +int lastid = 0; +int sockfd; + +fd_set main_fd, read_fd; + +int send_error(void) { + for (int i = 0; i < FD_SETSIZE; i++) + if (FD_ISSET(i, &main_fd)) + close(i); + close(sockfd); + write(STDERR_FILENO, "Fatal error\n", 12); + return (EXIT_FAILURE); +} + +int main(int ac, char **av) { + if (ac != 2) { + write(STDERR_FILENO, "Wrong number of argument\n", 25); + return (EXIT_FAILURE); + } + + int len; + struct sockaddr_in servaddr, cli; + + sockfd = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd == -1) + return (send_error()); + + servaddr.sin_family = AF_INET; + servaddr.sin_addr.s_addr = htonl(2130706433); //127.0.0.1 + servaddr.sin_port = htons(atoi(av[1])); + + + if (bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) != 0) + return (send_error()); + + if (listen(sockfd, 10) != 0) + return (send_error()); + + FD_ZERO(&main_fd); + FD_SET(sockfd, &main_fd); + maxfd = sockfd; + + while (1) { + read_fd = main_fd; + int ret = select(maxfd + 1, &read_fd, NULL, NULL, NULL); + if (ret < 0) + return (send_error()); + + for (int i = 0; i <= maxfd; i++) { + if (FD_ISSET(i, &read_fd)) { + if (i == sockfd) { + + } else { + + } + } + } + } +} diff --git a/subjects/mini_serv/main.c b/subjects/main.c similarity index 100% rename from subjects/mini_serv/main.c rename to subjects/main.c diff --git a/subjects/mini_serv/server.py b/subjects/server.py similarity index 100% rename from subjects/mini_serv/server.py rename to subjects/server.py diff --git a/subjects/mini_serv/subject.en.txt b/subjects/subject.en.txt similarity index 100% rename from subjects/mini_serv/subject.en.txt rename to subjects/subject.en.txt diff --git a/subjects/mini_serv/subject.hy.txt b/subjects/subject.hy.txt similarity index 100% rename from subjects/mini_serv/subject.hy.txt rename to subjects/subject.hy.txt diff --git a/subjects/mini_serv/subject.ru.txt b/subjects/subject.ru.txt similarity index 100% rename from subjects/mini_serv/subject.ru.txt rename to subjects/subject.ru.txt