Guest User

Untitled

a guest
Jun 28th, 2012
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.27 KB | None | 0 0
  1.  
  2. /* Sample TCP server */
  3.  
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6. #include <stdio.h>
  7.  
  8. int main(int argc, char**argv)
  9. {
  10.    int listenfd,connfd,n;
  11.    struct sockaddr_in servaddr,cliaddr;
  12.    socklen_t clilen;
  13.    pid_t     childpid;
  14.    char mesg[1000];
  15.  
  16.    listenfd=socket(AF_INET,SOCK_STREAM,0);
  17.  
  18.    bzero(&servaddr,sizeof(servaddr));
  19.    servaddr.sin_family = AF_INET;
  20.    servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
  21.    servaddr.sin_port=htons(32000);
  22.    bind(listenfd,(struct sockaddr *)&servaddr,sizeof(servaddr));
  23.  
  24.    listen(listenfd,1024);
  25.  
  26.    for(;;)
  27.    {
  28.       clilen=sizeof(cliaddr);
  29.       connfd = accept(listenfd,(struct sockaddr *)&cliaddr,&clilen);
  30.  
  31.       if ((childpid = fork()) == 0)
  32.       {
  33.          close (listenfd);
  34.  
  35.          for(;;)
  36.          {
  37.             n = recvfrom(connfd,mesg,1000,0,(struct sockaddr *)&cliaddr,&clilen);
  38.             sendto(connfd,mesg,n,0,(struct sockaddr *)&cliaddr,sizeof(cliaddr));
  39.             printf("-------------------------------------------------------\n");
  40.             mesg[n] = 0;
  41.             printf("Received the following:\n");
  42.             printf("%s",mesg);
  43.             printf("-------------------------------------------------------\n");
  44.          }
  45.          
  46.       }
  47.       close(connfd);
  48.    }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment