diff --git a/builds/client.o b/builds/client.o index 7debd99..be26caf 100644 Binary files a/builds/client.o and b/builds/client.o differ diff --git a/builds/server.o b/builds/server.o index f4f59f8..2bfdfd0 100644 Binary files a/builds/server.o and b/builds/server.o differ diff --git a/client b/client index 736fd1f..72493df 100755 Binary files a/client and b/client differ diff --git a/server b/server index f96dbc6..8dd5758 100755 Binary files a/server and b/server differ diff --git a/srcs/client.c b/srcs/client.c index f534764..ef8e18c 100644 --- a/srcs/client.c +++ b/srcs/client.c @@ -1,5 +1,4 @@ #include "../includes/minitalk.h" -#include //for atoi int usage(void) { @@ -18,9 +17,8 @@ void send_char(int server_pid, char c) if ((c & mask) == 0) kill(server_pid, SIGUSR2); mask >>= 1; - usleep(300); + usleep(20); } - } void send_message(int server_pid, char *msg) @@ -31,30 +29,6 @@ void send_message(int server_pid, char *msg) msg++; } send_char(server_pid, *msg); - -// if (!ft_strcmp(msg, "SIGUSR1")) -// kill(server_pid, SIGUSR1); -// if (!ft_strcmp(msg, "SIGUSR2")) -// kill(server_pid, SIGUSR2); - -// int mask; -// mask = 1 << 6; -// char character; -// character = 'c'; -// ft_printf("%c %i\n", character, character, mask); -// while (mask != 0) -// { -// ft_putchar('\n'); -// ft_putnbrbase(character, "01"); -// ft_putchar('\n'); -// ft_putnbrbase(mask, "01"); -// ft_putchar('\n'); -// if ((character & mask) != 0) -// ft_putchar('1'); -// if ((character & mask) == 0) -// ft_putchar('0'); -// mask >>= 1; -// } } int main(int ac, char **av) diff --git a/srcs/server.c b/srcs/server.c index 1d02560..df91f0a 100644 --- a/srcs/server.c +++ b/srcs/server.c @@ -20,6 +20,22 @@ void init_message(void) message.text = ft_strdup(""); } +void concat_msg() +{ + if (message.count_bits == 7) + { + if (message.character == 0) + { + ft_printf("%s\n", message.text); + message.text = ft_strdup(""); + } + else + message.text = ft_strjoinfree(message.text, ft_strdup(&(message.character))); + message.count_bits = 0; + message.character = 0; + } +} + int main() { signal(SIGUSR1, sig_handler_1); @@ -27,25 +43,11 @@ int main() ft_putnbrendl((int)getpid()); init_message(); while (1) - { - if (message.count_bits == 7) - { - if (message.character == 0) - { - ft_printf("%s\n", message.text); - message.text = ft_strdup(""); - } - else - message.text = ft_strjoinfree(message.text, ft_strdup(&(message.character))); - message.count_bits = 0; - message.character = 0; - } - } + concat_msg(); return (0); } /* -** ** allowed functions : ** - write ** - signal @@ -61,6 +63,15 @@ int main() ** - usleep ** - exit ** +** +** cmm +** deii +** enlc +** ctlr +** iiio +** 0.0010 +** 10 +** ** you can only use two signals : ** - SIGUSR1 ** - SIGUSR2 diff --git a/test.txt b/test.txt index aba0ee2..f4d73a7 100644 --- a/test.txt +++ b/test.txt @@ -4,3 +4,7 @@ cnealin azelj aze . cnealin azelj aze . cnealin azelj aze cnealin azelj aze..... +21377 +cnealin azelj aze..... +cnealin azelj aze +salut heuuu