codice:
  struct sockaddr_in server;
  int sockfd; port;
  char *dst_host;

  host = gethostbyname(dst_host);
  if(dst_host == NULL) {
    printf("Cannot resolve hostname\n");
    exit(1);
  }

  server_addr.sin_family = AF_INET;
  server_addr.sin_addr.s_addr = inet_addr(host);
  addr.sin_port = port;
  if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
    perror ("socket");
    exit (1);
  }

  if(connect(sockfd,(struct sockaddr*) &server, sizeof(server)) == -1) {
  perrorr("connect");
  exit(1);
  }
manca appunto il descrittore del socket:
sockfd = socket(AF_INET, SOCK_STREAM, 0)