le client peut envoyer le numero de char en binaire au client

This commit is contained in:
hugogogo
2021-08-28 17:24:28 +02:00
parent 48c68624f0
commit cab9adafda
6 changed files with 76 additions and 24 deletions
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+54 -4
View File
@@ -7,12 +7,62 @@ int usage(void)
return (0);
}
void send_char(int server_pid, char c)
{
int mask;
mask = 1 << 6;
ft_printf("%c %i ", c, c);
ft_putnbrbase(c, "01");
ft_putchar('\n');
while (mask != 0)
{
if ((c & mask) != 0)
{
ft_putnbr(1);
kill(server_pid, SIGUSR1);
}
if ((c & mask) == 0)
{
ft_putnbr(0);
kill(server_pid, SIGUSR2);
}
sleep(1);
mask >>= 1;
}
}
void send_message(int server_pid, char *msg)
{
if (!ft_strcmp(msg, "SIGUSR1"))
kill(server_pid, SIGUSR1);
if (!ft_strcmp(msg, "SIGUSR2"))
kill(server_pid, SIGUSR2);
while (*msg)
{
send_char(server_pid, *msg);
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)
+22 -20
View File
@@ -5,12 +5,14 @@
void sig_handler_1(int sig_num)
{
ft_printf("SIGUSR1 %i\n", sig_num);
(void)sig_num;
ft_putnbr(1);
}
void sig_handler_2(int sig_num)
{
ft_printf("SIGUSR2 %i\n", sig_num);
(void)sig_num;
ft_putnbr(0);
}
int main()
@@ -22,24 +24,24 @@ int main()
signal(SIGUSR1, sig_handler_1);
signal(SIGUSR2, sig_handler_2);
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 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;
// }
while (1);
return (0);