title: client not connecting with server C (Socket programming)
body: <p>I have a very simple client and server code:</p>
  
  <p>client</p>
  
  <pre><code>int sockfd = 0;
      int bytesReceived = 0;
      char recvBuff[BUFSIZE];
      memset(recvBuff, '0', sizeof(recvBuff));
      struct sockaddr_in serv_addr;
      printf("here i am\n");
      /* Create a socket first */
      if((sockfd = socket(AF_INET, SOCK_STREAM, 0))&lt; 0){
          printf("\n Error : Could not create socket \n");
          return 1;
      }
      fprintf(stderr, "connection stats\n");
      fprintf(stderr, "connecting to %d - %s \n",port,server);
      /* Initialize sockaddr_in data structure */
      serv_addr.sin_family = AF_INET;
      serv_addr.sin_port = htons(port); // port
      serv_addr.sin_addr.s_addr = server;
      printf(" attempting connection %s:%d\n", server, port);
      /* Attempt a connection */
       int con =  connect(sockfd, (struct sockaddr *)&amp;serv_addr, sizeof(serv_addr));
       printf("Error %d\n", con);
      exit(-1);
  </code></pre>
  
  <p>And server</p>
  
  <pre><code>   int listenfd = 0;
      int connfd = 0;
      struct sockaddr_in serv_addr;
      char sendBuff[BUFSIZE];
      int numrv;
  
      listenfd = socket(AF_INET, SOCK_STREAM, 0);
  
      printf("Socket retrieve success\n");
  
      memset(&amp;serv_addr, '0', sizeof(serv_addr));
      memset(sendBuff, '0', sizeof(sendBuff));
      printf("here 2\n");
      serv_addr.sin_family = AF_INET;
      printf("here 3\n");
      serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
      printf("here 4\n");
      serv_addr.sin_port = htons(port);
      printf("here 5\n");
      int optval = 1;
      printf(" opening port %d\n", port);
      setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR,
                 (const void *) &amp;optval, sizeof(int));
      bind(listenfd, (struct sockaddr *) &amp;serv_addr, sizeof(serv_addr));
      printf("binded\n");
  
  
      while (1) {
          connfd = accept(listenfd, (struct sockaddr *) NULL, NULL);
          printf("connfd %d", connfd);
  
  
          close(connfd);
          sleep(1);
  
  
      }
  </code></pre>
  
  <p>Client output:</p>
  
  <pre><code>here i am
  connecting to 8888 - localhost 
   attempting connection localhost:8888
  </code></pre>
  
  <p>Server output</p>
  
  <pre><code>Socket retrieve success
  here 2
  here 3
  here 4
  here 5
   opening port 8888
  binded
  </code></pre>
  
  <p>And after like few minutes of wait.. I observe the following:
  Client:</p>
  
  <pre><code>here i am
  connecting to 8888 - localhost 
   attempting connection localhost:8888
  Error -1
  </code></pre>
  
  <p>Server:</p>
  
  <pre><code>Socket retrieve success
  here 2
  here 3
  here 4
  here 5
   opening port 8888
  binded
  connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd -1connfd 
  </code></pre>
  
  <p>which by -1, I can guess that the connection has failed.
  I am not sure what I am missing?</p>