Echo server using socket programming in c

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main()
{
 int newsockfd, portno, clilen;
 char buffer[256];
 struct sockaddr_in serv_addr, cli_addr;
 int  n;
 int sockfd= socket(AF_INET, SOCK_STREAM, 0);
 if(sockfd<0)
 {
  printf("\nError in creating Sockets\n");
  exit(0);
 }
 else
 {
   bzero((char *) &serv_addr, sizeof(serv_addr));
      portno = 5001;
      serv_addr.sin_family = AF_INET;
      serv_addr.sin_addr.s_addr = INADDR_ANY;
      serv_addr.sin_port = htons(portno);
      if (bind(sockfd, (struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0)
      {
           perror("\nERROR on binding\n");
           exit(1);
  }
  else{
   while(1)
   {
    listen(sockfd,5);
        clilen = sizeof(cli_addr);
        newsockfd = accept(sockfd, (struct sockaddr *)&cli_addr, &clilen);
       if (newsockfd < 0)
        {
            perror("ERROR on accept");
            exit(1);
       }
        bzero(buffer,256);
        n = read( newsockfd,buffer,255 );
        if (n < 0)
        {
             perror("ERROR reading from socket");
             exit(1);
        }
        printf("%s\n",buffer);
        n = write(newsockfd,buffer,256);
        if (n < 0)
        {
             perror("ERROR writing to socket");
             exit(1);
        }
   }
  }
 }
}

Comments

Popular posts from this blog

MATLAB code for Circular Convolution using Matrix method

Positive number pipe in angular 2+