Files
42_INT_05_minitalk/srcs/client.c

75 lines
1.3 KiB
C

#include "../includes/minitalk.h"
#include <stdlib.h> //for atoi
int usage(void)
{
ft_printf("usage: ./client [server pid] [message]\n");
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)
{
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)
{
if (ac != 3)
return (usage());
send_message(ft_atoi(av[1]), av[2]);
return (0);
}