Thread: How to make it accept multi-client connections?

  1. #1
    Registered User
    Join Date
    May 2011
    Posts
    37

    How to make it accept multi-client connections?

    Dear all:

    How can I use fork() to create multiple client access and at the same time make the server echo back the strings to the clients? Any idea?

    Thanks.

    Code:
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <string.h>
    #include <unistd.h>
    
    #define MAXLINE 4096 
    #define SERV_PORT 3000 
    #define LISTENQ 8 
    
    int main (int argc, char **argv)
    {
     int listenfd, connfd, n;
     socklen_t clilen;
     char buf[MAXLINE];
     struct sockaddr_in cliaddr, servaddr;
    	
     listenfd = socket (AF_INET, SOCK_STREAM, 0);
    	
     servaddr.sin_family = AF_INET;
     servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
     servaddr.sin_port = htons(SERV_PORT);
    	
     bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr));
    	
     listen(listenfd, LISTENQ);
    	
     printf("%s\n","Server running...waiting for connections.");
    	
     for ( ; ; ) {
    		
      clilen = sizeof(cliaddr);
      connfd = accept(listenfd, (struct sockaddr *) &cliaddr, &clilen);
      printf("%s\n","Received request...");
    				
      while ( (n = recv(connfd, buf, MAXLINE,0)) > 0)  {
       printf("%s","String received from and resent to the client:");
       puts(buf);
       send(connfd, buf, n, 0);
      }
    			
     if (n < 0) {
      perror("Read error"); 
      exit(1);
     }
     close(connfd);
    	
     }
     close(listenfd); 
    }

  2. #2

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 12
    Last Post: 02-10-2009, 02:14 PM
  2. Testing maximum client connections
    By abachler in forum Networking/Device Communication
    Replies: 6
    Last Post: 05-02-2008, 08:31 AM
  3. multi user connections?
    By kryptkat in forum Networking/Device Communication
    Replies: 5
    Last Post: 05-29-2007, 02:12 PM
  4. async Client/Server app, accept() stalls?
    By JaWiB in forum Networking/Device Communication
    Replies: 14
    Last Post: 01-31-2005, 05:59 PM
  5. Multiple Client Connections
    By (TNT) in forum Windows Programming
    Replies: 1
    Last Post: 04-06-2002, 11:04 PM