Esempio n. 1
0
static int pack_gestion(char c, int sockfd)
{
	if (c == RS)
	{
		ft_recv_file(sockfd);
		return (1);
	}
	if (c == RFD)
	{
		delete_mission(sockfd);
		return (1);
	}
	if (c == ACP)
	{
		start_mission(sockfd);
		return (1);
	}
	return (0);
}
Esempio n. 2
0
void acceuil(t_server *server, int pid)
{
	char cmd;
	char *user;//[user]
	char *buffer;
	int nb_dir;

	printf("acceuil\n");
	ft_accept(server);
	server->connection++;
	printf("connected\n");

	user = ft_fd_in_str(server->sock);//[user]
	ft_putendl(user);//[user]
/*	if (!(server->pid = fork()))
	{*/
		printf("fils\n");
//		if (!(user = getenv("USER="******"cmd = :%c:\n", cmd);
		if (cmd == 'd' || cmd == 'f')
		{
			nb_dir = 0;
			if (cmd == 'd')
				nb_dir = nb_dir_sock(server->sock);
			ft_recv_file(server->sock, nb_dir);
		}
		else if (cmd == 'c' || cmd == 'x')
		{
			buffer = ft_fd_in_str(server->sock);//reception de la string sur la socket
			printf("serv buffer = :%s:\n", buffer);
			servcom(cmd, user, buffer, pid);//envoie du buffer au shell via pipe [user]
		}
		else
			printf("no mode %c bad argument\n", cmd);
		ft_putstr("server : mort du processus fils\n");

		close(server->sock);
		exit(0);
/*	}*/
}