You are on page 1of 2

#include<stdio.

h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<unistd.h>

int main()
{ int sockfd,newsockfd,bind_status,n;
char buffer[256];

//create socket
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
{ perror("Error creating socket");
exit(1);
}
//CREATE structure
struct sockaddr_in server_address,client_address;
bzero((char *)&server_address,sizeof(server_address));

server_address.sin_family=AF_INET;
server_address.sin_port=htons(9002);
server_address.sin_addr.s_addr=INADDR_ANY;

//create binding
bind_status=bind(sockfd,(struct sockaddr *)&server_address,sizeof(server_address));
if(bind_status<0)
{
perror("Error in binding");
}

listen(sockfd,5);
//acceptance
int clilen=sizeof(client_address);
newsockfd=accept(sockfd,(struct sockaddr*)&client_address,&clilen);
if(newsockfd<0)
{
perror("Error on accept");
}

while(1)
{
bzero(buffer,sizeof(buffer));
n=read(newsockfd,buffer,sizeof(buffer));
if(n<0)
{
perror("No client message error");
}

printf("Client:%s\n",buffer);
bzero(buffer,sizeof(buffer));
fgets(buffer,sizeof(buffer),stdin);

n=write(newsockfd,buffer,sizeof(buffer));
if(n<0)
{
perror("Write error");
}

int i=strncmp("Bye",buffer,3);
if(i==0){
break;
}
}
close(newsockfd);
close(sockfd);
return 0;
}

You might also like