title: Where do I set TCP_NODELAY in this C++ TCP Client?
body: <p>Where do I set <code>TCP_NODELAY</code> in this C++ TCP Client?</p>
  
  <pre><code>    // Client socket descriptor which is just integer number used to access a socket
      int sock_descriptor;
      struct sockaddr_in serv_addr;
  
      // Structure from netdb.h file used for determining host name from local host's ip address
      struct hostent *server;
  
      // Create socket of domain - Internet (IP) address, type - Stream based (TCP) and protocol unspecified
      // since it is only useful when underlying stack allows more than one protocol and we are choosing one.
      // 0 means choose the default protocol.
      sock_descriptor = socket(AF_INET, SOCK_STREAM, 0);
  
      if (sock_descriptor &lt; 0)
          printf("Failed creating socket\n");
  
      bzero((char *) &amp;serv_addr, sizeof(serv_addr));
  
      server = gethostbyname(host);
  
      if (server == NULL) {
          printf("Failed finding server name\n");
          return -1;
      }
  
      serv_addr.sin_family = AF_INET;
  
      memcpy((char *) &amp;(serv_addr.sin_addr.s_addr), (char *) (server-&gt;h_addr), server-&gt;h_length);
  
      // 16 bit port number on which server listens
      // The function htons (host to network short) ensures that an integer is
      // interpreted correctly (whether little endian or big endian) even if client and
      // server have different architectures
      serv_addr.sin_port = htons(port);
  
      if (connect(sock_descriptor, (struct sockaddr *) &amp;serv_addr, sizeof(serv_addr)) &lt; 0) {
          printf("Failed to connect to server\n");
          return -1;
      } else
          printf("Connected successfully - Please enter string\n");
  </code></pre>