Ejemplo n.º 1
0
int		main(int argc, char **argv)
{
  t_server	*s;
  int		port;
  char		path[4096];

  getcwd(path, 4096);
  if (argc >= 2)
    port = atoi(argv[1]);
  else
    port = 4242;
  s = xmalloc(sizeof(*s));
  init_socket(s);
  bind_socket(s, port);
  xlisten(s->listener, 10);
  FD_SET(s->listener, &(s->master));
  s->fdmax = s->listener;
  s->home = path;
  loop_server(s, argv);
  return (0);
}
Ejemplo n.º 2
0
int						create_server(char *port)
{
	t_addrinfo			hints;
	t_addrinfo			*res;
	t_protoent			*proto;
	int					sock;

	if (!(proto = getprotobyname("tcp")))
		return (-1);
	ft_memset((void *)&hints, 0, sizeof(hints));
	hints.ai_flags = AI_PASSIVE;
	hints.ai_family = AF_INET6;
	hints.ai_socktype = SOCK_STREAM;
	hints.ai_protocol = proto->p_proto;
	if (getaddrinfo(NULL, port, &hints, &res) != 0)
		return (-1);
	sock = loop_server(res);
	if (sock != -1)
		return (sock);
	printf("Bind error\n");
	return (-1);
}