le client peut envoyer le numero de char en binaire au client
This commit is contained in:
BIN
builds/client.o
BIN
builds/client.o
Binary file not shown.
BIN
builds/server.o
BIN
builds/server.o
Binary file not shown.
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user