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

Binary file not shown.

Binary file not shown.

BIN
client

Binary file not shown.

BIN
server

Binary file not shown.

View File

@@ -7,12 +7,62 @@ int usage(void)
return (0); 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) void send_message(int server_pid, char *msg)
{ {
if (!ft_strcmp(msg, "SIGUSR1")) while (*msg)
kill(server_pid, SIGUSR1); {
if (!ft_strcmp(msg, "SIGUSR2")) send_char(server_pid, *msg);
kill(server_pid, SIGUSR2); 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) int main(int ac, char **av)

View File

@@ -5,12 +5,14 @@
void sig_handler_1(int sig_num) 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) void sig_handler_2(int sig_num)
{ {
ft_printf("SIGUSR2 %i\n", sig_num); (void)sig_num;
ft_putnbr(0);
} }
int main() int main()
@@ -22,24 +24,24 @@ int main()
signal(SIGUSR1, sig_handler_1); signal(SIGUSR1, sig_handler_1);
signal(SIGUSR2, sig_handler_2); signal(SIGUSR2, sig_handler_2);
int mask; // int mask;
mask = 1 << 6; // mask = 1 << 6;
char character; // char character;
character = 'c'; // character = 'c';
ft_printf("%c %i\n", character, character, mask); // ft_printf("%c %i\n", character, character, mask);
while (mask != 0) // while (mask != 0)
{ // {
ft_putchar('\n'); // ft_putchar('\n');
ft_putnbrbase(character, "01"); // ft_putnbrbase(character, "01");
ft_putchar('\n'); // ft_putchar('\n');
ft_putnbrbase(mask, "01"); // ft_putnbrbase(mask, "01");
ft_putchar('\n'); // ft_putchar('\n');
if ((character & mask) != 0) // if ((character & mask) != 0)
ft_putchar('1'); // ft_putchar('1');
if ((character & mask) == 0) // if ((character & mask) == 0)
ft_putchar('0'); // ft_putchar('0');
mask >>= 1; // mask >>= 1;
} // }
while (1); while (1);
return (0); return (0);